Use typeid on a polymorphic class heirarchy : typeid « Development « C++ Tutorial






#include <iostream> 
#include <typeinfo> 
using namespace std; 
 
class Base { 
}; 
 
class Derived1: public Base { 
}; 
 
class Derived2: public Base { 
}; 
 
int main() 
{ 
  Base *p, baseob; 
  Derived1 ob1; 
  Derived2 ob2; 
 
  p = &baseob; 
  cout << typeid(*p).name() << endl; 
 
  p = &ob1; 
  cout << typeid(*p).name() << endl; 
 
  p = &ob2; 
  cout << typeid(*p).name() << endl; 
 
  return 0; 
}
4Base
4Base
4Base








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