#include<iostream.h>class base...{public: base()...{cout<<"base::base() ";} virtual ~base()...{cout<<"base::~base() ";} void func1()...{cout<<"base::func1() ";} virtual void func2()...{cout<<"base::func2() ";}};class inherited:public base...{public: inherited()...{cout<<"inherited::inherited() ";} ~inherited()...{cout<<"inherited::~inherited() ";} void func1()...{cout<<"inherited::func1() ";} void func2()...{cout<<"inherited::func2() ";}};void func1()...{ inherited a; base b; base *pb; pb=(base*)&a; pb->func1(); pb->func2();}void func2()...{ inherited * pa=new inherited; base * pb=(base*)pa; pb->func1(); pb->func2(); delete pa;}int main()...{ cout<<"func1: "; func1(); cout<<" func2: "; func2(); return 0;}