#include <iostream> using namespace std; class Foo { public: void func() { cout << "Foo::func()" << endl; } virtual void vfunc() { cout << "Foo::vfunc()" << endl; } }; class Bar : public Foo { public: void func() { cout << "Bar::func()" << endl; } void vfunc() { cout << "Bar::vfunc()" << endl; } }; int main() { Foo *p; Bar bar; p = &bar; (static_cast<Bar *>(p))->func(); (static_cast<Bar *>(p))->vfunc(); return 0; }
Bar::func()
Bar::vfunc()