n3337に記載されているように、デフォルトのコンストラクターが継承されていないことはわかっています。
そして、そこに例があります:
struct B2 {
B2(int = 13, int = 42);
};
struct D2 : B2 {
using B2::B2;
};
非常に良い説明で:
D2
forの継承されたコンストラクターの候補セットは次のとおりB2
です。... —B2(int = 13, int = 42) —B2(int = 13) —B2()
そして最も重要なこと:
に存在するコンストラクターのセット
D2
は
—D2()
、暗黙的に宣言されたデフォルトのコンストラクターであり、継承されていません
私にとって、この例は違いを示していません。つまり、このコンストラクターが継承されたとしても、その動作は暗黙的に宣言されたデフォルトのコンストラクターと変わらなかったということです。
たとえば、C++03 に精通しているが C++11 を学びたいと考えている聴衆にとって、簡単に理解できる方法の違いを示す例が必要です。
[更新]
すべての回答 (私自身のものを含む) は、「デフォルトの c-tor が継承された場合、例はコンパイルされる/コンパイルされない」という種類のものです。
結果(観察可能な動作)がそうでない場合とは異なる場合の回答を希望します。