情况是这样的。
class Class1{
public:
Class1(int N){
p = new int [N];
}
~Class1(){
delete []p;
}
...
private:
int *p;
};
class Class2(){
public:
Class2(){
int N = somthing;
A = Class1(N);
...
}
...
private:
Class1 A;
}
基本上,Class2 是一个复杂的对象,它使用 Class1 作为它的一部分并将对其进行更改。问题是,如果我这样做,Class1 的析构函数会导致错误。
C++中的这类问题还有其他解决方案吗?