如果你的基类有一个虚拟析构函数,你自己的析构函数自动是虚拟的 [英] if your base class has a virtual destructor, your own destructor is automatically virtual

查看:43
本文介绍了如果你的基类有一个虚拟析构函数,你自己的析构函数自动是虚拟的的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我知道标题的说法是正确的.

I know the title's statement is true.

常规函数呢?

例如

class Father {

    virtual void foo() {...;}

}

class Son : public Father {

    void foo() {...;}

}

class GrandSon : public Son {

    void foo() {...;}

}

GrandSon 可以覆盖 Son 的 foo 吗?一般来说,如果你的基类有虚函数,那么派生类对应的函数就自动是虚函数了?这是真的吗?

Can GrandSon override Son's foo? In general, if your base class has a virtual function, the derived class's corresponding function is automatically virtual? Is this true?

推荐答案

是的,在 C++ 中,派生类继承"了所有方法的虚拟方面——而不仅仅是析构函数.

Yes, in C++ a derived class "inherits" the virtual aspect of all methods--not just destructors.

这篇关于如果你的基类有一个虚拟析构函数,你自己的析构函数自动是虚拟的的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆