C++ Программирование в среде С++ Builder 5

         

Bad_typeid


Если typeid не может определить тип объекта, выбрасывается исключение bad_typeid. Это происходит, например, при попытке определить тип, на который ссылается нулевой указатель:

//////////////////////////////////////////////

// BadType.cpp: Исключение bad_typeid.

//

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

#pragma hdrstop

#include <condefs.h>

class Base { public:

virtual ~Base() {} };

class Derived: public Base {};

int main() {

try {

Base *bp = NULL;

cout<< "Typeid of bp: " << typeid(*bp).name() << endl;

} catch(bad_typeid) {

cout << "Bad typeid caught!"<< endl;

} return 0;

}



Содержание раздела