#include <iostream>
using std::cout;
using std::endl;
class Mammal {
public:
virtual void show() { }
};
class Dog : public Mammal {
public:
void show() { }
};
class Cat : public Mammal {
public:
void show() { }
};
int main()
{
Mammal *p, mml;
Dog dog;
Cat cat;
p = &mml;
cout << typeid(*p).name() << endl;
p = &dog;
cout << typeid(*p).name() << endl;
p = &cat;
cout << typeid(*p).name() << endl;
return 0;
}
/*
run:
class Mammal
class Dog
class Cat
*/