#include <iostream>
// Generic template
template<typename T, typename U>
class MyClass {
public:
void show() {
std::cout << "Generic MyClass" << std::endl;
}
};
// Partial specialization for T = int
template<typename U>
class MyClass<int, U> {
public:
void show() {
std::cout << "Specialized MyClass for int" << std::endl;
}
};
int main() {
MyClass<double, double> obj1;
obj1.show(); // Outputs: Generic MyClass
MyClass<int, double> obj2;
obj2.show(); // Outputs: Specialized MyClass for int
return 0;
}