Конструкторы можно наследовать только НАПРЯМУЮ от базы? - PullRequest
0 голосов
/ 04 августа 2020

У меня есть базовый класс A, который определяет некоторые конструкторы.

Затем у меня есть классы B1, B2, B3, которые наследуются от A.

Ни один из них не предназначен для создания экземпляров. Вместо этого у меня есть классы C11, C12, C13, наследуемые от B1, и т. Д.

C11, C12 и т. Д. c. всем нужны конструкторы A.

Я не думаю, что могу написать using A::A;, например, в классе C11, верно?

Единственный способ получить эти конструкторы (кроме вырезания и вставки их), чтобы B1 сказал using A::A;, а C11 сказал using B1::B1;?

Обратите внимание, что мой вопрос не в том, что поддерживает конкретный компилятор, а в том, что позволяет spe c, поэтому «просто проверьте это «не совсем ответ на этот конкретный вопрос.

1 Ответ

2 голосов
/ 08 августа 2020

Если вы ищете цитату из стандарта, то вот:

[namespace.udecl] / 3 ... Если using- декларатор называет конструктор, его вложенный-указатель-имя должен называть прямой базовый класс определяемого класса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...