class Base { public: virtual void vmf() { ... } };
class Derived : public Base { public: virtual void vmf() { ... } };
Base* p = new Base(); p->vmf(); // 这里调用Base::vmf p = new Derived(); p->vmf(); // 这里调用 // Derived::vmf ... 请注重代码中突出注释的两行,虽然其表面语法完全相同,但是却分别调用了不同的函数实现。所谓的“多态”即就此而言。这些知识是每一个C++开发者都熟知的。