C 中的建構函式和析構函式

2021-09-24 10:14:55 字數 632 閱讀 4473

什麼是建構函式?通俗的講,在類中,函式名和類名相同的函式稱為建構函式。它的作用是在建立乙個物件時,作某些初始化的工作(例如對資料賦予初值)。c++允許同名函式,也就允許在乙個類中有多個建構函式。如果乙個都沒有,編譯器將為該類產生乙個預設的建構函式。

建構函式上惟一的語法限制是它不能指定返回型別,甚至void 也不行。

不帶引數的建構函式:一般形式為 類名 物件名()

帶引數的建構函式:不帶引數的建構函式,只能以固定不變的值初始化物件。帶引數建構函式的初始化要靈活的多,通過傳遞給建構函式的引數,可以賦予物件不同的初始值。一般形式為:建構函式名(形參表);

建立物件使用時:類名 物件名(實參表);

構造函式引數的初始值:建構函式的引數可以有預設值。當定義物件時,如果不給出引數,就自動把相應的預設引數值賦給物件。一般形式為:

建構函式名(引數=預設值,引數=預設值,……);

當乙個類的物件離開作用域時,析構函式將被呼叫(系統自動呼叫)。析構函式的名字和類名一樣,不過要在前面加上 ~ 。對乙個類來說,只能允許乙個析構函式,析構函式不能有引數,並且也沒有返回值。析構函式的作用是完成乙個清理工作,如釋放從堆中分配的記憶體。

乙個類中可以有多個建構函式,但析構函式只能有乙個。物件被析構的順序,與其建立時的順序相反,即後構造的物件先析構。

C 中建構函式和析構函式

定義 它是一種特殊的方法。主要用來在建立物件時初始化物件,即為物件成員變數賦初始值,總與new運算子一起使用在建立物件的語句中。另外,乙個類可以有多個建構函式 我們可以根據其引數個數的不同或引數型別的不同來區分它們 這就是建構函式的過載 特點 1.建構函式的命名必須和類名完全相同 2.建構函式的功能...

C 中的建構函式和析構函式

1 建構函式 處理物件的初始化。特殊的成員函式,不需要使用者來呼叫,而是在建立物件的時候自動執行。特點 與類名相同 沒有任何返回型別 定義時可以有引數,可以無引數 2 析構函式 語法 classname 清理物件,析構函式在物件銷毀時自動被呼叫 特點 沒有引數 沒有任何返回型別 include io...

C 中的建構函式和析構函式

在類例項化物件時自動執行,對類中的資料進行初始化。建構函式可以從載,可以有多個,但是只能有乙個預設建構函式。在撤銷物件占用的記憶體之前,進行一些操作的函式。析構函式不能被過載,只能有乙個。先構造的後析構,後構造的先折構。它相當於乙個棧,先進後出。結果顯示 在函式內部定義的自動區域性變數在fun函式呼...