虚拟析构函数规则是否继承?

时间:2017-01-11 16:06:37

标签: c++11 virtual-destructor

我对虚拟析构函数有一个小问题。众所周知,如果我们有一个抽象类A(一个多态类),我们应该声明A虚拟的析构函数。

但是,假设我们有B,派生类ACB的派生类。在B中,我们重新定义A的所有虚拟方法,以确保B不再是抽象类。

我的问题是我们是否应该为了B派生类(例如类C)而声明struct A { virtual ~A() = default; // Good practice: virtual here virtual void foo() = 0; }; struct B : A { virtual ~B() = default; // Is virtual required here? void foo() { } }; struct C : B { }; 虚拟的析构函数。

=ARRAYFORMULA(iferror(mmult(A1:H523;TRANSPOSE(column(A1:H1))^0)))

提前致谢!

0 个答案:

没有答案