C 物件導向 初始化列表

2022-10-11 08:06:10 字數 794 閱讀 9194

初始化列表是指在建構函式中,我們可以提前給建構函式進行初始化。

傳統的初始化:

person

(int a,

int b,

int c)

初始化列表:

person

(int a,

int b,

int c)

:m_a

(a),

m_b(b)

,m_c

(c)

其實這兩個的區別不是很大,但是平常如果出現了這樣的**要看得懂

我們也可以修改a,b,c的值。

在建構函式名後面加上:變數(值)就完成了初始化列表的操作

#include

using

namespace std;

// 初始化列表

class

person

// 初始化列表

// 注意冒號的位置。

person

(int a,

int b,

int c)

:m_a

(a),

m_b(b)

,m_c

(c)int m_a;

int m_b;

int m_c;};

void

test01()

intmain()

c 物件初始化列表

1 物件初始化列表出現原因 1 必須這樣做 如果我們有乙個類成員,它本身是乙個類或者是乙個結構,而且這個成員它只有乙個帶引數的建構函式,沒有預設建構函式。這時要對這個類成員進行初始化,就必須呼叫這個類成員的帶引數的建構函式,如果沒有初始化列表,那麼他將無法完成第一步,就會報錯。2 類成員中若有con...

物件導向 物件初始化

類名 alloc 使用nsobject提供的init方法雖然可以完成初始化,但由於它只是完成最基本的初始化,因此物件的所有成員變數依然為0。重寫init方法,可以加入任意的自定義處理 對屬性執行初始化 例 在.h檔案中定義屬性 property nonatomic copy nsstring nam...

c 初始化列表

與其他函式不同,建構函式除了有名字,引數列表和函式體之外,還可以有初始化列表,初始化列表以冒號開頭,後跟一系列以逗號分隔的初始化字段。struct foo 初始化列表 建構函式的兩個執行階段 從概念上來講,建構函式的執行可以分成兩個階段,初始化階段和計算階段,初始化階段先於計算階段 初始化階段 所有...