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++開發者都熟知的。