У меня есть следующий код:
class C {
public:
C(int) {}
C(const C&) {}
C() {}
};
class D : public C {
public:
using C::C;
};
int main() {
C c;
D d_from_c(c); // does not compile, copy ctor is not inherited
D d_from_int(1); // compiles, C(int) is inherited
}
Производный класс должен наследовать все ctors базы, кроме значения по умолчанию ctor (объясняется здесь). Но зачем копировать ctor тоже не унаследовано? Аргументы из связанного с этим вопроса здесь неприемлемы.
Код компилируется с помощью g++ 4.8.1.