#include using namespace std; class TBase { public: virtual Show() { cout << "Base class\n"; }; }; class TDerived : public TBase { public: virtual Show() { cout << "Derived class\n"; }; }; int main(void){ TBase Base; TDerived Derived; TBase *BasePtr; Base.Show(); Derived.Show(); BasePtr = &Base; BasePtr->Show(); BasePtr = &Derived; BasePtr->Show(); }