class test1
void show()
private:
int ma;
int mb;
};int main()
注意:初始化列表中執行順序為成員變數的宣告順序有關,const成員和引用成員只能在初始化列表初始化
int main()
注意:常物件只能呼叫常方法,常方法不可以呼叫普通方法;普通成員方法可以呼叫常方法
常物件呼叫的this指標為const test * this,而不普通方法呼叫的指標為 test * this;( test * != const test *)
//常方法
void show() const
void show() const
void show1(int ma)
靜態的成員變數:(初始化在類外,不屬於物件私有,所有物件共享)
test
;int test::ma = 10;
靜態的成員方法:(呼叫約定為_cdecl約定,沒有 this 指標,不能訪問普通成員變數,只能訪問靜態的成員變數)
test
static int ma;
int mb;
};int test::ma = 10;
C 的初始化列表與常物件
一 初始化列表 建構函式的初始化列表 來指明成員的初始化方式 建構函式內部都是賦值 clink a 20 int a 20 初始化a b 30 賦值 筆試題 以下這段 初始化列表中的執行順序問題 1 test int a,int b ma a mb ma void show cout int ma ...
c 物件初始化列表
1 物件初始化列表出現原因 1 必須這樣做 如果我們有乙個類成員,它本身是乙個類或者是乙個結構,而且這個成員它只有乙個帶引數的建構函式,沒有預設建構函式。這時要對這個類成員進行初始化,就必須呼叫這個類成員的帶引數的建構函式,如果沒有初始化列表,那麼他將無法完成第一步,就會報錯。2 類成員中若有con...
靜態物件如何初始化?
介紹 當編譯乙個c 程式時,計算機的記憶體被分成了4個區域,乙個包括程式的 乙個包括所有的全域性變數,乙個是堆疊,還有乙個是堆 heap 我們稱堆是自由的記憶體區域,我們可以通過new和delete把物件放在這個區域。你可以在任何地方分配和釋放自由儲存區。但是要注意因為分配在堆中的物件沒有作用域的限...