共用方式為


使用特殊成員函式進行初始設定

本節描述使用特殊成員函式的初始化。 下列有關初始化的討論中會進一步說明:

  • 初始化彙總,描述如何初始化非類別類型的陣列和簡單類別類型的物件。 這些簡單的類別類型不能包含 private 或 protected 的成員,因此,它們不能擁有基底類別。

  • 建構函式,說明如何使用特殊建構函式初始化類別類型的物件。

初始化的預設方法,是從初始設定式進行位元對位元複製,以複製到要初始化的物件。 此方法僅適用於下列各項:

  • 內建類型的物件。 例如:

    int i = 100;
    
  • 指標。 例如:

    int i;
    int *pi = &i;
    
  • 參考。 例如:

    String sFileName( "FILE.DAT" );
    String &rs = sFileName;
    
  • 類別類型的物件 (其中類別沒有 private 或 protected 的成員) 沒有虛擬函式,也沒有基底類別。 例如:

    // spec1_special_member_functions.cpp
    // compile with: /LD
    struct Point
    {
        int x, y;
    };
    
    Point pt = { 10, 20 };   // Static storage class only
    

類別可以藉由定義建構函式來指定更精細的初始化。(如需宣告此類函式的詳細資訊,請參閱建構函式)。如果物件是具有建構函式的類別類型,則必須初始化該物件,或者必須具有預設建構函式。 沒有明確初始化叫用類別之預設建構函式的物件。

請參閱

參考

特殊成員函式 (C++)