typeid() function and RTTI must be enabled in compiler : typeid « Development « C++ Tutorial






#include <iostream>  
  #include <typeinfo>             
  using namespace std;  

  class Base  
    {  
     virtual void virtFunc()    
        {  }  
    };  
  class Derv1 : public Base  
    { };  
  class Derv2 : public Base  
    { };  

  void displayName(Base* pB)  
    {  
     cout << "pointer to an object of ";  //display name of class  
     cout << typeid(*pB).name() << endl;  //pointed to by pB  
    }  
  
  int main()  
    {  
     Base* pBase = new Derv1;  
     displayName(pBase);   //"pointer to an object of class Derv1"  
    
     pBase = new Derv2;  
     displayName(pBase);   //"pointer to an object of class Derv2"  
     return 0;  
    }








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