建立類的物件時,會自動呼叫某個合適的建構函式,同樣,當物件被摧毀時,也會自動呼叫乙個析構函式。
析構函式的名稱與類的名稱是完全相同的,只是在前面加了個波浪號(~)作為字首,它不會返回任何值,也不能帶有任何引數。析構函式有助於在跳出程式(比如關閉檔案、釋放記憶體等)前釋放資源。
物件的摧毀出現在以下兩種情況:
與建構函式一樣,析構函式也是成員函式。由於析構函式不帶引數,因此不能被過載,每個類也只能擁有乙個析構函式。
#include
#include
using namespace std;
class cc(
const
char
* n)~c
()private:
string name;};
intmain()
cout/ c1 and c2 destructors called
c* ptr=new c()
;//default constructor
delete ptr;
//destructor for the ptr object
return0;
//c0 destructor called
}
最後輸出結果為:
elen constructing.
null constructing.
anny constructing.
anny destructing
null destructing
null constructing.
null destructing
elen destructing
可以看出析構函式的呼叫順序即位棧的思想,最先建立的則最後呼叫析構函式。>_< C 物件導向(二) 構造 析構函式
析構函式 destructor 構造 析構順序 建構函式 也叫構造器 在物件建立的時候回自動呼叫,一般用於完成物件的初始化工作 函式名與類同名,無返回值,可以有引數,可以過載,可以有多個建構函式 struct person person int age intmain 一旦自定義了建構函式,必須用其...
C 物件導向程式設計入門 建構函式與析構函式(二)
下面我們來看乙個帶引數的建構函式是如何進行物件的始化操作的。如下 include using namespace std class teacher void show protected char name void teacher show 我們建立了乙個帶有字元指標的帶有形參的teacher ...
python物件導向與構造構析函式
程式設計正規化 程式設計范型 程式設計正規化或程式設計法 範即模範 典範之意,正規化即模式 方法 是一類典型的程式設計風格,是指從事軟體工程的一類典型的風格 可以對照方法學 如 函式式程式設計 程式程式設計 物件導向程式設計 命令式程式設計等等為不同的程式設計范型。面向過程程式設計 面向過程 pro...