class Base
{
public:
void f1()
{
printf("Base::f1()\n");
}
virtual void f2()
{
printf("Base::f1()\n");
}
};
class Drived:public Base
{
public :
void f1()
{
printf("Drived::f1()\n");
}
void f2()
{
printf("Drived::f2()\n");
}
};
int main()
{
Base *b1=new Base();
Base *b2=new Drived();
Drived *d3=new Drived();
b1->f1();
b1->f2();
b2->f1();
b2->f2();
d3->f1();
d3->f2();
delete b1;
delete b2;
delete d3;
return 0;
}