特殊なメンバー関数 (C++)
C++ はクラス メンバーとして宣言できる複数の種類を定義します。この関数が呼び出されます 「特別なメンバー関数」と呼ばれます。これらの関数は特定のクラスのオブジェクトを作成する方法は他の種類のオブジェクトが破棄されコピーおよび変換されて影響します。これらの関数の多くのもう一つの重要なプロパティは暗黙的に呼び出すことができることです (コンパイラによって)。
ここで説明する特別なメンバー関数は次のとおりです。:
コンストラクター。オブジェクトの自動初期化します。
デストラクター。オブジェクトが明示的または暗黙的に破棄された後にクリーンアップを実行します。
変換関数。クラス型とそのほかの間の変換を示します。
演算子の新しい関数。動的にストレージを割り当てます。
operator delete 関数。 新規作成 の演算子を使用して割り当てられたメモリを解放します。
代入演算子 () operator=。メモリ割り当てが行われるときに使用します。
上記のリスト項目は各クラスに対してユーザー定義します。
特殊メンバー関数はほかのメンバー関数と同じアクセス規則に従います。アクセス規則は アクセスコントロール に示します。メンバーおよびフレンド関数の動作を次の表に示します。
関数の動作の概要
[関数の種類] |
関数は基本クラスから継承されます。 |
関数は仮想で指定すること。 |
関数の戻り値はできるか。 |
関数はメンバーまたはフレンド メソッドです。 |
コンパイラはユーザーが関数を生成しますか。 |
---|---|---|---|---|---|
コンストラクター |
X |
X |
X |
メンバー |
○ |
コピー コンストラクター |
X |
X |
X |
メンバー |
○ |
デストラクター |
X |
○ |
X |
メンバー |
○ |
変換 |
○ |
○ |
X |
メンバー |
X |
operator=(割り当て) |
X |
○ |
○ |
メンバー |
○ |
new |
○ |
X |
void* |
静的メンバー |
X |
delete |
○ |
X |
void |
静的メンバー |
X |
他のメンバー関数 |
○ |
○ |
○ |
メンバー |
X |
フレンド関数 |
X |
X |
○ |
Friend |
X |