函式格式
C++當中的析構函式格式如下:
class<類名>類名
{
public:
~<類名>();類名
};
<類名>::~<類名>()類名類名
{
//函式體
}
如以下定義是合法的:
classT
{
public:
~T();
};
T::~T()
{
//函式體
}
當程式中沒有析構函式時,系統會自動生成以下析構函式:
<類名>::~<類名>(){},即不執行任何操作。類名類名
下面通過一個例子來說明一下析構函式的作用:
#include
usingnamespacestd;
classT
{
public:
~T(){cout<<"析構函式被調用。";}//為了簡潔,函式體可以直接寫在定義的後面。
};
intmain()
{
T*t=newT();//建立一個T類的指針對象t
deletet;
cin.get();
}
最後輸出:
析構函式被調用。
cin.get()表示從鍵盤讀入一個字元,為了讓我們能夠看得清楚結果。當然,析構函式也可以顯式的調用,如(*t).~T;也是合法的。
c++語言析構語言實例
包含構造函式和析構函式的C++程式。#include#includeusing namespace std;class stud //聲明一個類 {private: // 私有部分int num;char name; char sex ; public: //公用部分stud(int n,char nam[],char s ) //構造函式{num = n; strcpy (name, nam);sex = s; } ~stud( ) //析構函式{ cout << "stud has been destructe!" << endl;//通過輸出提示告訴我們析構函式確實被調用了}void display( ) //成員函式,輸出對象的數據{cout<<"num: "<<<<"name: "<<<<"sex: "<<