派生类是否需要在基类上声明自己的虚函数版本
Do derived classes need their own version of a virtual function declared on base?
例如,类Plant
有一个virtual void info()
方法。flower
类由Plant
派生而来。Plant
是否有义务实现自己的方法?
如果函数为纯虚函数,则声明为virtual void info() = 0;
,则No。否则是的。
No.
基类不需要它们自己实现由派生类实现的虚方法。然而,它们可以有一个实现。
要跳过基类中的实现,只需将其设置为纯虚的,例如
virtual void info() = 0;
在这种情况下,任何派生类-或者更具体地说:任何您希望拥有其实例的派生类-都需要实现虚拟方法。
相关文章:
- 没有为自己的结构调用列表推回方法
- 使用cmake从源代码构建MySQL连接器/C++失败(与以前的声明冲突)
- 在函数内部的声明中初始化数组,并在外部使用它
- 卷曲bracers内部结构的声明
- 在他自己的方法中,有可能将一个对象取消引用到另一个对象吗
- 在c++中为我自己的基于指针的数组分配内存的正确方法
- 程序顶部的声明与定义(最佳实践)
- 当简单捕获中的标识符显示为参数的声明符 ID 时,没有编译器诊断
- 错误:使用通用引用的声明冲突
- C++从对象自己的类中删除对象
- 我必须声明自己的 wxFrame 类吗?
- 如何为自己的类型声明自定义char_traits<>?
- 在类自己的声明中使用类
- 声明一个以我自己的类作为值类型的映射
- 如何声明为属性,指针到自己的类型,使用模板
- 如何在它自己的类中声明一个对象数组?
- 派生类是否需要在基类上声明自己的虚函数版本
- 当我需要声明自己的析构函数时
- 什么时候需要声明自己的析构函数?
- #ifndef如何处理全局声明的变量和我自己的变量