2013-12-05 6 views
8

Каков предел множественного наследования в C++? то есть, сколько классов может наследовать класс? Является ли он зависимым от реализации или существует ограничение на количество классов, которые вы можете наследовать из нескольких наследований?Предел множественного наследования в C++

+1

Языковой стандарт, вероятно, предусматривает нижнюю границу. Но действительно ли это будет на практике? –

+2

Шансы очень высоки, что если вы наследуете более одного не абстрактного базового класса, у вас есть серьезная проблема с дизайном. –

+2

Его не касается дефекта дизайна или суждения. Я даже не работаю с C++. Любопытный ребенок спрашивает меня об этом, и у меня нет ответа. Так что кто-нибудь мне скажет .. –

ответ

11

Реализация определена. C++ 11 дает рекомендуется минимумы в количествах Выполнения часть стандарта:

- прямые и косвенные базовые классы [16] 384.
- Прямые базовые классы для одного класса [1 024].
[...]
- Прямые и косвенные виртуальные базы класса [1 024].

Я бы сказал, что это довольно щедро.

+5

дерьмо У меня есть 1025 прямых базовых классов – aaronman

4

Пер §10.1:

Класс может быть получен из любого числа базовых классов. [Примечание: Использование нескольких базовых классов часто называют множественным наследованием. - конец примечание]

Все остальное зависит от реализации и ограничений компилятора.

Смежные вопросы