typeid Can Be Applied to Template Classes : typeid « Development « C++






typeid Can Be Applied to Template Classes

typeid Can Be Applied to Template Classes
   
// Using typeid with templates.
#include <iostream>
using namespace std;
   
template <class T> class myclass {
  T a;
public:
  myclass(T i) { a = i; }
};
   
int main()
{
  myclass<int> o1(10), o2(9);
  myclass<double> o3(7.2);
   
  cout << "Type of o1 is ";
  cout << typeid(o1).name() << endl;
   
  cout << "Type of o2 is ";
  cout << typeid(o2).name() << endl;
   
  cout << "Type of o3 is ";
  cout << typeid(o3).name() << endl;
   
  cout << endl;
   
  if(typeid(o1) == typeid(o2))
    cout << "o1 and o2 are the same type\n";
   
  if(typeid(o1) == typeid(o3))
    cout << "Error\n";
  else
    cout << "o1 and o3 are different types\n";
   
  return 0;
}
  
    
    
  








Related examples in the same category

1.Here is a simple example that uses typeidHere is a simple example that uses typeid
2.An example that uses typeid on a polymorphic class hierarchyAn example that uses typeid on a polymorphic class hierarchy
3.An example that uses typeid for base and derived classesAn example that uses typeid for base and derived classes
4.Demonstrate runtime type id.
5.typeid for polymorphic class
6.A simple example that uses typeid.
7.Use a reference with typeid.
8.Demonstrating run-time type id.
9.Demonstrate == and != relative to typeid.Demonstrate == and != relative to typeid.