Если ваш компилятор поддерживает стандарт C ++ 11, существует наследование конструктора, использующее using
(каламбур). Подробнее см. Википедия C ++ 11, статья . Вы пишете:
class A
{
public:
explicit A(int x) {}
};
class B: public A
{
using A::A;
};
Это все или ничего - вы не можете наследовать только некоторые конструкторы, если вы пишете это, вы наследуете их все. Чтобы наследовать только выбранные, вам нужно написать отдельные конструкторы вручную и вызвать из них базовый конструктор.
Исторически конструкторы не могли быть унаследованы в стандарте C ++ 03. Вам нужно было наследовать их вручную один за другим, вызывая базовую реализацию самостоятельно.