コンストラクタ・デストラクタ

プログラミングをする上で,大抵の場合,初期化処理が必要になると思いますが,C++においてオブジェクトの初期化を行うのがコンストラクタ関数 (constructor function)です.
ただし,厳密に言うとコンストラクタ関数とは,オブジェクト生成時に呼び出される関数です.
コンストラクタには,基本的にメンバ変数などを初期化する処理を記述しますが,初期化処理以外も記述することは可能です.

一方,コンストラクタとは逆に,オブジェクトが破棄されるときに呼び出される関数をデストラクタ関数 (destructor function)といいます.
基本的には,不要になったメモリ領域の解放などをここで行ないます.

以下は,コンストラクトとデストラクタの使用例です.

コンストラクタ関数は,必ずクラス名と同名にする必要があります.
関数の型指定は必要ありません
上記の例では,コンストラクタ内で,各メンバ変数の初期化処理を行なっています.
なお,ここでは,

というC++初心者には見慣れない記述があると思いますが,
これについては,メモリの動的確保で詳しく解説しています.
ここでは,配列を生成して,初期化しているんだということを理解してもらえればよいです.

次に,デストラクタ関数ですが,これはクラス名と同名の関数名にして,その前にチルダ” ~ “をつけることで実現できます.
これも,関数の型は不要です.
上記の例では,デストラクタ内で

と記述しており,これも見慣れない記述だとは思いますが,
これについてもメモリの動的確保で説明します.
この記述の意味としては,先ほどコンストラクタで生成した配列のメモリ領域を,不要になったので解放するということです.
ちなみに,この例ではarrayという配列は全く使用されていない(例示のため無意味に生成した)のでご注意ください.