头文件
class A { public: virtual void f1(); void f2(); }; class B : public A { public: virtual void f1(); };
源文件
#include "123.h" #include <iostream> void A::f1() { std::cout << "A::f1()\n"; } void A::f2() { std::cout << "A::f2()\n"; f1(); } void B::f1() { std::cout << "B::f1()\n"; } void main() { A* pA = new B; pA->f2(); delete pA; system("pause"); }输出结果:
A::f2() B::f1() 请按任意键继续. . .