c++の親クラスへのコンストラクタ引数受け渡し
継承関係にある以下のような2つのクラスがあるとしよう。
//定義 class IHoge { IHoge(const double a); }; class Hoge { Hoge(const double b); } //実装 IHoge::IHoge(const double a) { } Hoge::Hoge(const double b) { }
このコードはエラーとなる。
error: constructor for 'Hoge' must explicitly initialize the base class 'IHoge' which does not have a default constructor
なぜエラーとなるのかを考えるためには継承関係の子クラスが生成されるときの仕様を知る必要がある。
まず前提として、子クラスを生成するときには、「子クラスのコンストラクタ→親クラスのコンストラクタ」という順序で親クラスのコンストラクタも呼ばれる。
そのとき、今回のように子クラスHogeのコンストラクタが引数aをとって、その親クラスIHogeのコンストラクタも引数bをとるような場合、子クラスを生成したときには、親クラスIHogeのコンストラクタの引数として暗黙的にbが渡されることはない。そこで明示的に渡してやる必要がある。
//definition class IHoge { public: IHoge(const double a); }; class Hoge : public IHoge { public: Hoge(const double b); }; //implementation IHoge::IHoge(const double a) { } Hoge::Hoge(const double b) :IHoge(b) { } int main() { Hoge h(1.0); return 0; }
独習C++にも書いてある話。
香港3日目
香港島の東、causeway bayへ。
メモ3
街中での両替にいろいろ手間取る→空港より5%くらいいいレートで両替できた
→トラムで東へ→causeway bay→ワールドトレードセンターへ
→noon day gunを間近で見る→街中で見かけて気になってた、ハチノスのった麺を食べる
→さらに東へ歩いてビクトリアパーク→ビクトリア女王とツーショット写真→時間あったので急遽、建物の感じが大学ぽい、公園正面にある香港中央図書館へ→バスに乗って香港競馬博物館へ→( ゚Д゚)ウマー→チムシャツォンのカウロンホテルから小籠包食べ放題夜景観光ツアーへ
→コースのさんらーたんで、香港の目標達成
→アツアツ小籠包( ゚Д゚)ウマー
→おっちゃんのガイド付きで2階建てオープンバスツアー
→ネイザンロードの南側は宝石店めっちゃ多い。宝石店の向かいに同じ看板の宝石店があるレベル
→香港の人、家賃と車で収入の半分持ってかれるそう。2LDKで、kowloonだと月20万~。香港人もつらい(おっちゃん談)
→6-7階建てくらいの60年代のマンションは階段しかなくて、おっちゃんにはつらい(おっちゃん談)
→ネイザンロードの看板低くて、立って手を伸ばすと届きそうなレベル。
→魔法の言葉「ペンディー」
→女人街で解散して散策
→意識の高まりそうなトランプ見つけたので購入 with ペンディー。店のおばちゃんのアンカリングに釣られてほぼ値切れず
→青歯イヤホンを見つけて店のお姉ちゃんと提示額の(ペンディー)
→楽しく交渉できたので結局購入(その間にTはセルカ棒購入)
→戻ってちらっとランカイホンへ
香港3日目
香港島の東、causeway bayへ。
メモ3
街中での両替にいろいろ手間取る→空港より5%くらいいいレートで両替できた
→トラムで東へ→causeway bay→ワールドトレードセンターへ
→noon day gunを間近で見る→街中で見かけて気になってた、ハチノスのった麺を食べる
→さらに東へ歩いてビクトリアパーク→ビクトリア女王とツーショット写真→時間あったので急遽、建物の感じが大学ぽい、公園正面にある香港中央図書館へ→バスに乗って香港競馬博物館へ→( ゚Д゚)ウマー→チムシャツォンのカウロンホテルから小籠包食べ放題夜景観光ツアーへ
→コースのさんらーたんで、香港の目標達成
→アツアツ小籠包( ゚Д゚)ウマー
→おっちゃんのガイド付きで2階建てオープンバスツアー
→ネイザンロードの南側は宝石店めっちゃ多い。宝石店の向かいに同じ看板の宝石店があるレベル
→香港の人、家賃と車で収入の半分持ってかれるそう。2LDKで、kowloonだと月20万~。香港人もつらい(おっちゃん談)
→6-7階建てくらいの60年代のマンションは階段しかなくて、おっちゃんにはつらい(おっちゃん談)
→ネイザンロードの看板低くて、立って手を伸ばすと届きそうなレベル。
→魔法の言葉「ペンディー」
→女人街で解散して散策
→意識の高まりそうなトランプ見つけたので購入 with ペンディー。店のおばちゃんのアンカリングに釣られてほぼ値切れず
→青歯イヤホンを見つけて店のお姉ちゃんと提示額の(ペンディー)
→楽しく交渉できたので結局購入(その間にTはセルカ棒購入)
香港2日目
メモ2
朝から本土へ。
香港で初地下鉄。接合部が狭くなっていないため、端から端まで見通せてすげー→太子駅→現地の太極拳終わりのおじいちゃん達に混じって飲茶
→うまー
→西へ→本場のチャーシューにビビる→東南へ
→昼の女人街→抜けてから、トーダイシー?買い食い→バスで香港歴史博物館へ向かう→あと少しのところまで行く(紅なんとか駅)
→乗り継ぎのバスの向きを間違えて香港バスツアーに→終点まで行く→確認って大事だね→食べ歩きながらなんとか博物館にたどり着く(徒歩) →入り口の方向と逆方向に行く→気づいて折り返す→確認って大事だね(二回目)→香港の歴史を4億年前から振り返る→香港マクド→ライトショー見る場所に失敗→確認って大事だね
(三回目)→大星通り→プロジェクションマッピングショー→ガッツリ中華
→帰りがけに、「ニセモノ、トケイ」と声かけられる
ナンパする人は見た目ユルい人に声かけるのと同じ原理が働いたのかと憶測
なかなか歩いた