在多级继承中,我可以在继承层次结构中重写基类中的虚函数吗?举个例子
class Base {
public :
virtual void method1();
///
}
class Derived1 : Base {
public :
void method2();
}
class Derived2 : Derived1 {
public :
void method1();
}
Run Code Online (Sandbox Code Playgroud)
我可以使用多态性访问 Derived2::method1() 吗?
Base* myClass = new Derived2();
myClass->method1();
Run Code Online (Sandbox Code Playgroud)
一旦父类将函数标记为virtual,“虚拟性”就会保留。无论您拥有多少级继承,或者是否有任何中间类不重写该函数,一旦创建了一个函数,virtual该函数将始终是virtual.
所以回答你的问题:是的,可以Derived2::method1通过多态性来使用。您显示的代码应该可以正常工作。