问题我有这样的代码:C++,与析构函数
#include <iostream>
using namespace std;
class X
{
int a;
public:
X()
{
cout<<"X constructor was called"<<endl;
}
X(int n)
{
cout<<"X(int) constructor was called"<<endl;
}
~X(){cout<<"X dectructor was called"<<endl;}
};
int main()
{
X x(3);
system("PAUSE");
return 0;
}
这个代码执行的结果:X(int)构造被调用。 但为什么析构函数消息尚未打印?
据我所知,我们通过调用构造函数X(int)来创建对象x,并且在程序结束时这个对象必须被删除,但是它没有。
您是否尝试过调试并在析构函数中放置一个断点? –