析构函数上的虚拟传播

问题描述 投票:0回答:2

[我知道virtual传播到派生类方法,并且可以选择将关键字作为关键字放在派生类的方法声明上,并且我知道我必须按顺序将基类的析构函数标记为virtual具有多态破坏,但是我想知道的是,派生类的默认析构函数是否从基类的虚拟析构函数继承virtual,因此我必须在派生类上显式编写它。

示例:

class A{
public:
    virtual ~A() override = default;
}
class B: public A{
public:
    // have i to write this or it's already what the compiler get as default?
    virtual ~B() override = default;
}
c++ polymorphism destructor
2个回答
2
投票
overrides>]基类的析构函数。与其他任何替代一样,如果替代的是虚拟的,则它是虚拟的。

0
投票
您可以在virtual声明中省略关键字virtual,甚至如果它为空,甚至可以完全省略~B()
© www.soinside.com 2019 - 2024. All rights reserved.