#include using namespace std; class A { public: void m1() { cout << "a1" << endl; } virtual void m2() { cout << "a2" << endl; } }; class B : public A { public: void m1() { cout << "b1" << endl; } void m2() { cout << "b2" << endl; } }; int main() { B* b = new B(); A* a = b; a->m1(); a->m2(); b->m1(); b->m2(); }