2017年10月16日
《その81》 デフォルトコンストラクタ
デフォルトコンストラクタ
デフォルトコンストラクタとは、引数を渡すことなく呼び出せるコンストラクタのことです。
いま、時・分・秒のデータメンバで構成される次のような時刻クラス Time があるものとします。
class Time {
int hour;
int minute;
int second;
public:
Time() { // デフォルトコンストラクタ
hour = 0; minute = 0; second = 0;
}
Time(int h, int m = 0, int s = 0) { // コンストラクタ
hour = h;
・・・・・・
}
・・・・・・・・
};
クラスのコンストラクタやメンバ関数は多重定義が可能です。
この Timeクラスでは、コンストラクタが二つ定義されています。
Time();
が デフォルトコンストラクタ
Time(int h, int m = 0, int s = 0);
が デフォルト実引数を与えられたコンストラクタです。
Timeクラスの場合、次の4通りの初期化ができることになります。
【1】 Time t1; // 0時 0分 0秒
【2】 Time t2(20); // 20時 0分 0秒
【3】 time t3(12, 30); // 12時30分 0秒
【4】 Time t4(12, 30, 55); // 12時30分55秒
※ デフォルトコンストラクタの呼出しは、
Time t1();
のように書くことはできません。→ 【1】
※ 単一の実引数で呼び出せるコンストラクタの場合、
Time t2 = 20;
のように書くことができます。 → 【2】
--
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/6864532
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック