Using typeid with templates : typeid « Development « C++ Tutorial






#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;

  return 0;
}
Type of o1 is 7MyClassIiE
Type of o2 is 7MyClassIiE
Type of o3 is 7MyClassIdE








5.24.typeid
5.24.1.Use typeid
5.24.2.Use typeid on a polymorphic class heirarchy
5.24.3.Compare the typeid for templates
5.24.4.Use a reference with typeid
5.24.5.Demonstrating run-time type id
5.24.6.Using typeid with templates
5.24.7.Using typeid: class pointer, base class, derived class,
5.24.8.typeid() function and RTTI must be enabled in compiler
5.24.9.Output the name of a typeid
5.24.10.print type name of what ptr points at
5.24.11.Using typeid: enum data type