問題我有這樣的代碼: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,並且在程序結束時這個對象必須被刪除,但是它沒有。
您是否嘗試過調試並在析構函數中放置一個斷點? –