• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:デフォルトコンストラクタについて)

デフォルトコンストラクタについて

このQ&Aのポイント
  • クラスB側で何か細工をすると、クラスAのデフォルトコンストラクタ無しで、エラーなくコンパイルできるのでしょうか?
  • 派生クラスの親のベースクラスのコンストラクタを呼ぶsuper?でOKなのでしょうか?
  • クラスAのデフォルトコンストラクタをコメントアウトすると、コンパイルエラーが発生します。

質問者が選んだベストアンサー

  • ベストアンサー
  • koko_u_
  • ベストアンサー率18% (459/2509)
回答No.1

B のデフォルトコンストラクタはそのままでは、まず A のデフォルトコンストラクタを呼びにいくからこのままでは NG。 class B : A { public:  B() : A(0) {} } のように明示的に A のコンストラクタを指定すればよい。 super って Java の予約語だっけ?

tobasu
質問者

お礼

Bクラス側の場合は理解しました。 Aクラス側で A(){}とせずに、 A(){ A(0) }は可能でしょうか? >super って Java の予約語だっけ? 親(ベース)のクラスのコンストラクタを呼びたかったのですが、 頭の中が整理できていませんでした。

その他の回答 (1)

  • koko_u_
  • ベストアンサー率18% (459/2509)
回答No.2

>Aクラス側で A(){}とせずに、 >A(){ A(0) }は可能でしょうか? A() { A(0); } ならできますが、意味はありません。 単に A 型のオブジェクト A(0) を一時的に作成して捨てているだけです。 まずは普通にコードが書けるようになるのが先でしょう。

関連するQ&A

専門家に質問してみよう