C++ 構造方法

Andy Niu發表於2013-10-12

1、構造方法的作用是設定資料成員的初始值。

2、定義一個類Person的例項person的時候,必定會呼叫Person的構造方法。呼叫構造方法分為兩個步驟:第一步使用初始化列表,第二步在構造方法內部對成員賦值。

3、對於初始化列表,肯定會執行。如果使用者沒有顯式的呼叫,就會隱式的呼叫。然後才執行第二步,在構造方法內部賦值。

4、對於初始化列表,對於隱式或者顯式中沒有初始化的成員,成員的取值取決於下面的情況:

  a、如果成員是類型別,使用預設構造方法。(注:對於這種情況,必須保證成員具有預設構造方法)

  b、如果是內建型別,分為下面兩種情況:

    b1、person是全域性變數,初始化為0

    b2、person是區域性變數,不初始化,為oxcccccccc

5、對成員設定一個初始值,在第一步或者在第二步都能達到同樣的效果。但是下面幾種情況必須在第一步做:

  a、const物件

  b、引用型別的物件

  為什麼?因為const物件和引用型別的物件必須進行初始化,因此必須在初始化列表中進行。

注:0xcccccccc:沒有初始化,除錯的時候都是這個東西,程式不能訪問這個地址。

  0x00000000:是Null,不指向任何東西。

相關文章