Home>>L'operatore typeid

L'operatore typeid permette di determinare il tipo di un oggetto a tempo di esecuzione. In accordo con lo standard C++, questo operatore restituisce un riferimento costante ad un oggetto di tipo type_info.

Di seguito un esempio di codice:

// expre_typeid_Operator.cpp
// compile with: /GR /EHsc

#include <iostream>
#include <typeinfo.h>

class Base {
public:
   virtual void vvfunc() {}
};

class Derived : public Base {};

using namespace std;

int main()
{
   Derived* pd = new Derived;
   Base* pb = pd;
   cout << typeid( pb ).name()  << endl; //prints "class Base *"
   cout << typeid( *pb ).name() << endl; //prints "class Derived"
   cout << typeid( pd ).name()  << endl; //prints "class Derived *"
   cout << typeid( *pd ).name() << endl; //prints "class Derived"
   delete pd;
}

E' bene ricordare che il testo riportato dalla funzione name è dipendente dalla piattaforma utilizzata.


Aggiungi commento




  Country flag
biuquote
  • Commento
  • Anteprima
Loading


Calendario

<<  febbraio 2012  >>
lumamegivesado
303112345
6789101112
13141516171819
20212223242526
2728291234
567891011

View posts in large calendar

Archivio

Licenza d'uso
Eccetto dove diversamente specificato, i contenuti di questo sito sono rilasciati mediante:

Licenza Creative Common