C++語法規定了在構造對象的時候一定需要構造函數,而在刪除對象的時候一定需要析構函數。
析構函數原型: ~類名();
-
析構函數沒有參數,沒有返回值類型
-
完成對象被刪除前的一些清理工作。
-
在對象的生存期結束的時刻系統自動調用它,然後再釋放此對象所屬的空間。
-
如果程序中未聲明析構函數,編譯器將自動產生一個默認的析構函數,其函數體爲空。
構造函數和析構函數舉例
#include <iostream>
using namespace std;
class Point{
public:
Point(int xx,int yy);
~Point();
//...其他函數原型
private:
int x, y;
};
Point::Point(int xx, int yy)
{
x = xx;
y = yy;
}
Point::~Point(){
}
//...其他函數原型