【发布时间】:2021-06-28 14:31:45
【问题描述】:
假设我有对象:B Ob1,C Ob2。我想为 B 和 C 类构建一个析构函数,但我不确定如何销毁 B.bb 和 C.cc 以及如何访问它们。另外,有没有一种方法可以让我在不与 A 班交朋友的情况下做到这一点?
class A
{
protected:
int a, aa;
public:
A();
A(int a, int aa);
~A();
friend class B;
friend class C;
};
class B
{
protected:
int b;
A bb;
public:
B();
A(int b, A bb);
~B();
};
class C: class B
{
private:
int c;
A cc;
public:
C();
C(int c, A cc);
~C();
};
【问题讨论】:
-
不需要朋友,也不需要非默认析构函数。这些类太简单了,现在不需要担心这个。
-
您可以不像现在一样在
B中为A创建构造函数。
标签: c++ oop inheritance destructor