• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C++プログラミングをする上で、少々気になった点があるので質問させてく)

C++プログラミングで気になる点とは?

このQ&Aのポイント
  • C++プログラミングで気になった点を質問します。
  • C++のクラスやコンストラクタについての違いやメリットについて知りたいです。
  • 特に、CSuperクラスのコンストラクタとサブクラスのコンストラクタの違いについて教えてください。

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

  • ベストアンサー
回答No.1

違います。 CSuper :: CSuper(int a, int b) : _a(a) { _b = b; } のばあし、_a は a で初期化されます。 _b はデフォルト値で初期化され、 b が代入されます。 つまり、_b に対してはコンストラクタと代入が働きます。二度手間です。

yamidare
質問者

お礼

回答ありがとうございます なるほど、今まで意識していませんでしたが、そういう動きだったんですね。

その他の回答 (1)

回答No.2

もう一点、 既に回答にあるとおり、 _a(a) は、初期化 _a = a は、代入 ですので、 たとえば、const int _a; という、const な、メンバ変数に対しては、_a(a) しか使えないというのがあります。

yamidare
質問者

お礼

回答ありがとうございます。 たしかにconstは、そのような形で値を決めますね。 その記述が可能で、代入が不可能なのは、代入とコンストラクタを呼ぶ、という違いによるものだったのですね。 ありがとうございました。

関連するQ&A

専門家に質問してみよう