派生类是否需要在基础上声明的虚拟函数的自己版本?

时间:2016-10-15 13:08:50

标签: c++ inheritance virtual-functions

例如,课程Plant有一个virtual void info()方法。课程flower来自Plant Plant是否有义务拥有自己的方法实现?

2 个答案:

答案 0 :(得分:0)

没有

基类不需要需要他们自己实现的一个由提供的类实现的虚方法。但是,他们可以有一个实现。

要跳过基类中的实现,只需将其设为纯虚拟,例如

virtual void info() = 0;

在这种情况下,任何派生类 - 或者更具体:您希望拥有实例的任何派生类 - 都需要实现虚方法。

答案 1 :(得分:0)

如果函数为pure virtual,即声明为virtual void info() = 0;,则为否。否则为。