C 之建構函式和析構函式強化

2021-08-08 10:50:27 字數 630 閱讀 9115

構造與析構呼叫順序:

#include 

class test9_1

// 析構的順序和構造的順序相反,先構造的後析構

~test9_1()

private:

int m_a;

};// 物件初始化列表,解決乙個類中有另乙個沒有無參構造的類的物件的初始化

class test9_2

~test9_2()

private:

test9_1 m_b;

test9_1 m_c;

test9_1 m_a;

const

int m_ca;

};int main9_1()

以及構造中呼叫構造:

#include 

class test10_1

test10_1 (int a, int b, int c)

~test10_1()

void print ()

private:

int m_a;

int m_b;

int m_c;

};int main10_1()

C 之建構函式和析構函式

我們已經知道了物件就是類的例項,二者的關係就相當於資料型別與它的變數的關係。每個物件區別於其他物件的地方就是依靠它的自身屬性,即資料成員的值。c 中,物件在定義的時候進行的資料成員的設定,稱為物件的初始化。同樣,在特定物件使用結束時,還要對資料成員進行一些清理工作。c 中對類的初始化和清理的工作,分...

C 之建構函式和析構函式

一 建構函式 1 物件的初始化和建構函式 類是一種抽象的資料型別,它不占用儲存空間,不能容納具體的資料。因此在類宣告中不能給資料成員賦初值。例如 錯誤 class complex 與使用變數一樣,使用物件時也應該先定義,後使用。在定義物件時,對資料成員賦初值,稱為初始化。例如 class compl...

C 建構函式和析構函式

1.建構函式是類的一種特殊方法,每次建立類的例項都會呼叫它。在建立乙個類的例項時,建構函式就像乙個方法一樣被呼叫,但不返回值。語法格式 訪問修飾符 類名 特性 1 其名字必須與類名相同,例如 public class myclass 2 不能被直接呼叫,必須通過new運算子來 呼叫。publiccl...