Программирование на С++. Рейзлин В.И. - 27 стр.

UptoLike

Составители: 

29
class Base{
virtual void f(){};
//…
};
class Derived: public Base{
//…
};
void main()
{int i;
Base ob,*p;
Derived ob1;
cout<<typeid(i).name(); //Выводится int
p=&ob1;
cout<<typeid(*p).name(); // Выводится Derived
}
2.
//начало см. выше
void WhatType(Base& ob)
{cout<< typeid(ob).name()<<endl;
}
void main()
{
Base ob;
Derived ob1;
WhatType(ob); //Выводится Base
WhatType(ob1); //Выводится Derived
}
3.
//начало см. выше
void main()
{
Base *p;
Derived ob;
p=&ob;
if(typeid(*p)==typeid(Derived)) cout<<“p указывает на объект типа
Derived”;
}