コンストラクタは、メンバ関数のように
省略可能引数を使った記述が可能です。
省略可能引数を使ったメンバ関数についてはコチラ。
class Cdata {
public:
int a;
int b;
int c;
Cdata(int data1 = 0, int data2 = 0, int data3 = 0) {
a = data1;
b = data2;
c = data3;
}
};
void main() {
// 引数なし形式でコンストラクタ呼び出し
Cdata obj1;
// 引数が1つの形式でコンストラクタ呼び出し
Cdata obj2(5);
// 引数が2つの形式でコンストラクタ呼び出し
Cdata obj3(5, 10);
// 引数が3つの形式でコンストラクタ呼び出し
Cdata obj4(5, 10, 50);
}
この例では、クラスCdataに1つのコンストラクタがあります。
引数は、3つとも省略可能引数が設定されているため、
引数なし、引数1個、引数2個、引数3個の形式での
コンストラクタ呼び出しにたった1つのコンストラクタで全てに対応できます。
このように、大変効率が良い記述方法なので、ぜひ活用して下さい。