Template C++ Tutorial

#include  
using namespace std; 
 
template  class MyClass { 
  T x; 
public: 
  MyClass(T a) {  
    cout << "Inside generic MyClass\n"; 
    x = a; 
  } 
  T getx() { return x; } 
}; 
 
// Explicit specialization for int. 
template <> class MyClass { 
  int x; 
public: 
  MyClass(int a) {  
    cout << "Inside MyClass specialization\n"; 
    x = a * a; 
  } 
  int getx() { return x; } 
}; 
 
int main() 

  MyClass d(10.1); 
  cout << "double: " << d.getx() << "\n\n"; 
 
  MyClass i(5); 
  cout << "int: " << i.getx() << "\n"; 
 
  return 0; 
}
Inside generic MyClass
double: 10.1
Inside MyClass specialization
int: 25