class A
{
A()
{
a=new int[5];
}
int *a;
~A()
{
delete [] a;
}
}
A a;
A b;
b=a;
a.~A();
b.~A(); //这句会报错因为编译器默认是浅拷贝。
深拷贝则是如下:
class A
{
A()
{
a=new int[5];
}
A(const A& _A)
{
data = new int[5];
} // 深拷贝
int a;
~A()
{
delete [] a;
}
}
A a;
A b;
b=a;
a.~A();
b.~A(); //这个就不会报错