派生类判定是否是虚函数

派生类可以不显式的用virtual声明虚函数,这时系统就会用以下规则来判断派生类的一个函数成员是不是虚函数:

(1)该函数是否与基类虚函数有相同的名称,参数个数以及对应的参数类型;

(2)该函数是否与基类虚函数有相同的返回值或者满足类型兼容规则的指针/引用型的返回值;

如果检查之后,派生类函数就会被确认为虚函数 ,此时派生类的虚函数便覆盖了基类的虚函数。

派生类中虚函数还会隐藏基类中同名函数的其他所有重载形式,一般习惯于在派生类函数中也使用virtual关键字,以便增加程序可读性。

在现代C++中,在派生类中使用override表示是重写虚函数。如果只是增加了virtual,一旦参数不一致,就会导致重写失败。为了重新定义一个虚函数,使用override是为了在编译期提前发现错误。

 

posted on 2021-12-02 17:36  silenccfly  阅读(237)  评论(0编辑  收藏  举报

导航