派生クラス内で using T::T; とすると(Tは基本クラス) 派生クラスで基本クラスのコンストラクタが使えるようになる struct base { base(int); }; struct derived : base { using base::base; // derived::derived(int) が使えるようになる }; N2540 Inheriting Constructors (revision 5) C++0x言語拡張まとめ
さて、C++11 で新しく追加された Inheriting constructors という機能なんですが、これは次のように使うことが出来ます。 struct base{ constexpr base(int value) : value(value){} constexpr base(int value1, int value2) : value(value1 + value2){} int value; }; struct X : base{ // 基底クラスのコンストラクタを派生クラスで使用できるように定義 using base::base; }; // 基底クラスのコンストラクタが使用出来る constexpr X x{ 42 }; constexpr X x2{ 23, -9 }; static_assert(x.value == 42, ""); static_assert(x
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く