建構函式與析構函式

2021-07-27 12:20:10 字數 573 閱讀 1872

1. 建構函式

class a//宣告類

private:

int i;

public:

a();//建構函式的宣告

a::a()//建構函式的定義

i=0;

a a;//定義類的物件

--建構函式名等於類名

--無返回型別(不是void,也不是預設int)

--在定義物件的時候自動呼叫建構函式

--帶引數的建構函式(在定義物件的時候傳遞變數)

例如:a a(0);

2. 析構函式

~a();//析構函式的定義

--波浪線+類名

--無返回型別,無引數

3. 物件陣列的初始化

普通陣列的初始化:

int y[2]=;//相當於y[0]=1

物件陣列的初始化:

a y[2]=;//會報錯,一定要對陣列中每乙個物件進行初始化(這裡不考慮不帶引數的建構函式的過載)

4. 初始化列表

a::a():i(0)

推薦採用初始化列表的方式,尤其是涉及到類的初始化(類的析構函式的呼叫)。

建構函式與析構函式

建構函式 主要作用就是為物件初始化。有一點要說的是,在繼承體系彙總,如果在建構函式中,如果沒有指定基類的建構函式,那麼編譯器會在建構函式開頭加入,基類的預設建構函式,這樣就可以初始化基類物件部分 析構函式 對於析構函式,要說的多點,實際也不太複雜,就是加入了virtual 使其具有了多型性質 inc...

建構函式與析構函式

建構函式 先看看建構函式的呼叫順序規則,只要我們在平時程式設計的時候遵守這種約定,任何關於建構函式的呼叫問題都能解決 建構函式的呼叫順序總是如下 1.基類建構函式。如果有多個基類,則建構函式的呼叫順序是某類在類派生表中出現的順序,而不是它們在成員初始化表中的順序。2.成員類物件建構函式。如果有多個成...

建構函式與析構函式

概述 乙個類有兩種特殊的成員函式 建構函式與析構函式。建構函式功能是在建立物件時,給資料成員賦初值,即物件的初始化。析構函式的功能是釋放乙個物件,在物件刪除前,用它做一些記憶體釋放工作,與建構函式的功能相反。建構函式 在物件建立時它會被自動執行,因此變數 物件的初始化 一般都放在建構函式中。1 物件...