C++类成员对象析构问题
#include <iostream>
using namespace std;
class Test
{
public:
Test()
{
}
~Test()
{
cout<<"Test destructor"<<endl;
if(p!=NULL)
delete p;
}
private :
int *p;
};
class Test1
{
public:
Test1()
{
}
~Test1()
{
cout<<"Test1 destructor"<<endl;
}
};
class Test2
{
public:
Test2()
{
}
~Test2()
{
cout<<"Test2 destructor"<<endl;
}
private:
Test a;
Test1 b;
};
int main()
{
Test2 *c=new Test2;
delete c;
//system("pause");
return 0;
}
这个地方 delete c 时,Test析构时出问题了?