C++ のコンストラクタの使い方は?

C++のコンストラクタとは、オブジェクトが自動的に作られる際の初期化操作を行う特別なメンバ関数のことをいいます。コンストラクタの使い方は主に以下の通りです。

  1. オブジェクトのデータメンバの初期化:コンストラクタは、オブジェクトの作成時にデータメンバを初期化するための操作を実行できるため、オブジェクトの初期状態は期待通りになります。
  2. オブジェクトの動的メモリの確保やファイルのオープンなどのリソースの確保や解放を行うもので、コンストラクタはオブジェクトの生成時に必要な確保を行い、デストラクタはオブジェクトの消滅時に解放を行い、リソースリークを防止する。
  3. コンストラクターでその他もろもろの初期化処理を行う、例えば他の関数の呼び出しや静的メンバの初期化など

コンストラクターには、よく使われるいくつかの用途があります。

  1. デフォルトコンストラクタ:パラメータを指定せずにオブジェクトを作成した際に呼び出され、オブジェクトのデータメンバを初期化するコンストラクタ
  2. 引数を受け付けるコンストラクタ:与えられた引数によって初期化できます。異なる型の引数や引数の数によって、異なるオブジェクトを作成するために複数の引数付きコンストラクタを定義してオーバーロードできます。
  3. コピーコンストラクタ: すでに存在するオブジェクトと同じメンバー変数を持つ新しいオブジェクトを作成するために使用される。コピーコンストラクタの引数で、コピー元を指定できる。
  4. 変換コンストラクタ:他の型のオブジェクトを、代入操作を行うため、現在のクラスのオブジェクトに変換できます。変換コンストラクタは、パラメータを 1 つのみ持つことができ、キーワード「explicit」を付けることはできません。

コンストラクタ名をクラス名と同じにして、戻り値の型を付けないことに注意してください。コンストラクタはクラスの定義の中で複数定義でき、コンパイル時に引数の種類や数で適切なコンストラクタが自動的に選択されます。

bannerAds