特殊なメンバー関数を使用して初期化

ここでは特殊なメンバー関数を使用して初期化について説明します。これは次の初期化の説明で配置 :

  • 集約の初期化 nonclass の型の配列単純なクラス型のオブジェクトを初期化する方法を説明する。これらの単純なクラスの型はプライベートまたはプロテクト メンバーは基本クラスを指定することはできません。

  • コンストラクター特別なコンストラクター関数を使用してクラス型のオブジェクトを初期化する方法を説明する。

既定の初期化メソッドが初期化されるオブジェクトは初期化子のビットごとビットのコピーが実行されます。この手法を適用するだけです :

  • 組み込み型のオブジェクト。次に例を示します。

    int i = 100;
    
  • ポインター。次に例を示します。

    int i;
    int *pi = &i;
    
  • 参照。次に例を示します。

    String sFileName( "FILE.DAT" );
    String &rs = sFileName;
    
  • クラスにプライベートまたはプロテクト メンバーは仮想関数と基本クラスを持たないクラス型のオブジェクト。次に例を示します。

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

クラスはコンストラクター関数を定義することでより洗練された初期化を指定できます。このような関数の宣言の詳細についてはコンストラクター を参照してください)。オブジェクトのコンストラクターを持つクラス型である場合はオブジェクトを初期化するための既定のコンストラクターが必要です。特にオブジェクトは初期化クラスの既定のコンストラクターを呼び出します。

参照

関連項目

特殊なメンバー関数 (C++)