问题:
C++如何清理需要销毁的对象?
C++中改进方法:
析构函数是不能重载的,因为它没有参数也没有返回类型
class Test
{
public:
Test()
{
}
~Test()
{
}
};
int main()
{
Test t;
return 0;
}
// 输出结果:
Test()
~Test()
//分析:t在栈上,在return之前销毁,所以调用析构函数
class Test
{
int mi;
public:
Test(int i)
{
mi = i;
printf("Test(): %d\n", mi);
}
~Test()
{
printf("~Test(): %d\n", mi);
}
};
int main()
{
Test* pt = new Test(2);
delete pt;
return 0;
}
// 在堆上 return 之前delete 所以调用析构函数