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

Do derived classes need their own version of a virtual function declared on base?

本文关键字:自己的 声明 函数 版本 基类 是否 派生      更新时间:2023-10-16

例如,类Plant有一个virtual void info()方法。flower类由Plant派生而来。
Plant是否有义务实现自己的方法?

如果函数为纯虚函数,则声明为virtual void info() = 0;,则No。否则是的。

No.

基类不需要它们自己实现由派生类实现的虚方法。然而,它们可以有一个实现。

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

virtual void info() = 0;

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