使用特殊成員函式進行初始設定
本節描述使用特殊成員函式的初始化。 下列有關初始化的討論中會進一步說明:
初始化彙總,描述如何初始化非類別類型的陣列和簡單類別類型的物件。 這些簡單的類別類型不能包含 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
類別可以藉由定義建構函式來指定更精細的初始化。(如需宣告此類函式的詳細資訊,請參閱建構函式)。如果物件是具有建構函式的類別類型,則必須初始化該物件,或者必須具有預設建構函式。 沒有明確初始化叫用類別之預設建構函式的物件。