通常,对象是通过实例化派生类进行分配的,但可以由指向基类的指针变量指向它,例如:

CRBase* poBase = (CRBase*)(new CRDerived);

如果 CRBaseCRDerived 都提供了 DoAction() 成员函数的不同实现,那么 poBase->DoAction() 会调用基类的实现。
但是,如果该成员函数被 virtual 关键字标记,则 poBase->DoAction() 会“多态地”调用派生类的实现。

最后修改: 2025年01月30日 星期四 12:24