【わからないこと】
・クラスの宣言で使う、デフォルト引数について
クラスの宣言部分のみ、記載します。(Base1クラス)
calss Base1{ protected: int bs1; public: Base1(int b1=0){bs1=b1} //わからないところ void showBs1(); };
教えてほしいこと
・//コメントの行の(int b1=0)
の部分がデフォルト引数、というもので、
「main関数でインスタンスが生成されたとき、引数としてもらった値に0が代入される」
という解釈で合っていますでしょうか?
・その後ろの{bs1=b1}
の部分は、protectedのint bs1に引数としてもらった値を代入する、
という式の意味はわかるのですが、ブロックで囲まれているのはなぜでしょうか?
インスタンスが生成された(引数なしの場合)→b1に0が代入される→()の中が実行?→{}の中が実行?
インスタンスが生成された(引数ありの場合)→bs1にb1の値が代入される→{}の中が実行?
こんな風に勝手に考えたのですが、ちゃんとした意味を知りたいです。
よろしくおねがいします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/18 06:38
2017/11/20 11:18 編集
2017/11/20 15:30 編集
2017/11/22 05:39