class A
{
public:
A(…) {…}
virtual ~A() {…}
private:
// may contains data
};
class B : public A
{
public:
B(…) {…}
private:
// contains no data
};
class C : public B
{
public:
C(…) {…}
~C() {…}
private:
// may contains data
};
如您所见,class A
是基类,所以我们必须提供一个已实现的虚拟析构函数。
问题> 我们是否必须为具体提供默认析构函数class B
?
class B
本身不需要实现自定义析构函数来释放任何分配的资源。
谢谢