#include <iostream>
using std::cout;
using std::endl;
class base {
public:
virtual void show(void) {
cout << "class base" << endl;
}
};
class derived1 : public base {
public:
void show(void)
{
cout << "class derived1" << endl;
}
};
class derived2 : public derived1 {
public:
void show(void)
{
cout << "class derived2" << endl;
}
};
int main(void)
{
base *p, b;
p = &b;
p->show();
derived1 d1;
p = &d1;
p->show();
derived2 d2;
p = &d2;
p->show();
}
/*
run:
class base
class derived1
class derived2
*/