建構函式(二)

2021-07-27 20:38:27 字數 1129 閱讀 1813

1.

轉換建構函式

1)  

單個引數

的建構函式

2)  

將其他型別轉換為類型別

3)  

類的建構函式只有乙個引數是非常危險的,因為編譯器可以使用這種建構函式把引數的型別隱式轉換為類型別

賦值與初始化的區別

1)  

在初始化語句中的等號不是運算子,編譯器對這種表示方法有特殊的解釋

2)  

賦值:test& test::operator+(const test& other);

運算子過載:

explicit關鍵字

1)  

只提供給類的建構函式使用關鍵字

2)  

編譯器不會把宣告為explicit的建構函式用於隱式轉換,它只能在程式**中顯示建立物件。

explicit test(int x);//使轉換建構函式不生效

4.

建構函式初始化列表

推薦在建構函式初始化列表中進行初始化

建構函式的執行分為兩個階段:初始化段+普通計算段

物件成員與初始化

6.

const成員、引用成員的初始化

const成員、引用、物件成員(物件所對應的類沒有預設建構函式)的初始化,只能在建構函式初始化列表中進行

7.

列舉物件適用與所有物件

需要常量時可以定義列舉成員 示例

: class test ;

};列舉訪問:test::success

建構函式 二 3

建構函式 與類名同 無返回可有引數 class test void print int main 物件陣列 主動呼叫 for int i 0 i 3 i return 0 類成員函式和普通函式一樣可進行過載,並遵守相同過載規則 類中沒定義任何一建構函式,編譯器預設提供無參建構函式 函式體為空 和拷貝...

C 建構函式(二)

本篇是介紹c 的建構函式的第二篇 共二篇 屬於讀書筆記,對c 進行乙個系統的複習。複製建構函式是建構函式的一種,也被稱為拷貝建構函式,他只有乙個引數,引數型別是本類的引用。預設建構函式 即無參建構函式 不一定存在,但是複製建構函式總會存在。因為只要沒有自己寫的複製建構函式,就會自動生成乙個複製建構函...

c 建構函式 拷貝建構函式 c 複習 二

c param mark 資料型別 string代替char void tv power 有且只有一次的初始化,根據條件初始化 建構函式例項化時被自動呼叫 建構函式與類名同名 建構函式沒有返回值 建構函式可以進行過載 例項化物件時建構函式有且只用到一次 使用者沒有定義建構函式時,編譯器自動生成建構函...