初始化列表是指在建構函式中,我們可以提前給建構函式進行初始化。
傳統的初始化:
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 初始化列表 建構函式的兩個執行階段 從概念上來講,建構函式的執行可以分成兩個階段,初始化階段和計算階段,初始化階段先於計算階段 初始化階段 所有...