Cpp クラス 継承 新しいページはコチラ

提供: yonewiki
移動: 案内, 検索
(クラス 継承)
(クラス 継承)
217行: 217行:
  
  
 派生クラスを生成させたときに派生クラス側で引数がある場合、派生クラスはもちろん自身のコンストラクタが呼ばれますが、基底クラスでは、何もないコンストラクタが呼ばれます。基底クラスで、引数付きのコンストラクタが存在する場合は自分自身が呼ばれなくてもいいことを許すことを示すように、引数のないコンストラクタを明記しないとダメです。最初から基底クラスにコンストラクタが存在しないなら、引数のないコンストラクタを明記しておく必要はないです。基底クラスが引数付きコンストラクタで初期化処理するクラスで、派生クラスから呼ばれても影響が無いことを証明するようなものです。あるいは影響があっても派生クラスがちゃんとやってくれるんなら許すという感じでもあります。基底クラスになるにしても、基底クラスになる準備が出来ているか?というものは、求められていることになります。今回の場合は、呼び出されたあとに、値が設定されたかが重要になるので、基底のクラスのコンストラクタで、値を受け取って、基底のクラスが使える状態になったか?というのは基底のコンストラクタで記述しないとダメなのかもしれませんが、勉強用なので、特に何もしませんでした。ほったらかしです。
+
 派生クラスを生成させたときに派生クラス側で引数がある場合、派生クラスはもちろん自身のコンストラクタが呼ばれますが、基底クラスでは、何もないコンストラクタが呼ばれます。基底クラスで、引数付きのコンストラクタが存在するクラスを作っていた場合で派生クラスで初期化がされない事がある場合、引数のないコンストラクタを明記しないとダメです。最初から基底クラスにコンストラクタが存在しないなら、引数のないコンストラクタを明記しておく必要はないです。基底クラスが引数付きコンストラクタで初期化処理するクラスで、派生クラスから呼ばれても影響が無いことを証明するようなものです。あるいは影響があっても派生クラスがちゃんとやってくれるんなら許すという感じでもあります。基底クラスになるにしても、基底クラスになる準備が出来ているか?というものは、求められていることになります。今回の場合は、呼び出されたあとに、値が設定されたかが重要になるので、基底のクラスのコンストラクタで、値を受け取って、基底のクラスが使える状態になったか?というのは基底のコンストラクタで記述しないとダメなのかもしれませんが、勉強用なので、特に何もしませんでした。ほったらかしです。
  
  

2020年7月24日 (金) 00:00時点における版



個人用ツール
名前空間

変種
操作
案内
ツールボックス