在多级继承中重写,中间派生类未覆盖函数
override in multilevel inheritance with intermediate derived class not having the function overriden
在多级继承中,我可以稍后在继承层次结构中覆盖基类中的虚函数吗?举个例子
class Base {
public :
virtual void method1();
///
}
class Derived1 : Base {
public :
void method2();
}
class Derived2 : Derived1 {
public :
void method1();
}
我是否可以使用多态性访问 Derived2::method1()?
Base* myClass = new Derived2();
myClass->method1();
一旦父类将函数标记为virtual
,该"虚拟性"就会保留。不管你有多少级继承,或者是否有任何中间类不覆盖函数,一旦一个函数被创建virtual
该函数将始终virtual
。
所以回答你的问题:是的,可以通过多态性使用Derived2::method1
。您显示的代码应该可以正常工作。
相关文章:
- 如何在派生类中正确覆盖具有不同参数的函数?
- 有没有办法调用基类函数,该函数在使用私有继承的派生类中被覆盖?
- 如何声明从 QApplication 派生的 Qt 类并覆盖通知函数?
- 覆盖虚拟函数 - 派生类具有不同的参数
- 为什么派生模板化类的函数不覆盖非模板化基类的纯虚函数?
- 抽象基类的派生类未正确覆盖基纯虚拟方法
- 在多级继承中重写,中间派生类未覆盖函数
- 是否可以在不手动在C 中的每个派生类中添加覆盖的克隆方法来克隆多态对象
- 基本派生的类成员覆盖.挑战活动11.3
- 如果私有虚拟函数被覆盖为派生类中的公共函数,那么问题是什么
- 覆盖方法返回类型,在C 中使用不完整的派生类
- 我如何在抽象类中声明一个超载的运算符,并在派生的非抽象类中覆盖它
- 通过引用调用虚函数:派生类的覆盖被调用
- 派生类对象覆盖对象向量中的基类函数
- 覆盖派生类的函数时遇到问题
- 如何使用static_assert检查派生类是否覆盖非虚拟基类方法
- C++ 调用从基类派生的覆盖函数
- 覆盖派生类的>>运算符
- 当派生类中的函数无法覆盖基类中的虚函数时发出警告
- 多态性和数据隐藏:基类是覆盖还是忽略派生类的访问限制?