Re[2]: Множественное наследование интерфейсов
От: AlexGin Беларусь  
Дата: 04.06.18 14:11
Оценка: 2 (1) +1 -1
Здравствуйте, Максим Рогожин, Вы писали:

МР>Здравствуйте, Максим Рогожин, Вы писали:


МР>Подскажите, пожалуйста, а есть ли минусы у такого дизайна?

МР>
МР>class SomeClass : public ConcreteClass, // класс
МР>                  public Interface1,    // интерфейс
МР>                  public Interface2,    // интерфейс
МР>                  ...
МР>                  public InterfaceN     // интерфейс
МР>{
МР>//...
МР>};
МР>


МР>И есть ли разница в каком порядке перечислены ConcreteClass, Interface1, ..., InterfaceN?

МР>
МР>// Так можно? Этот вариант чем-нибудь отличается от первого варианта?
МР>class SomeClass : public Interface1,    // интерфейс
МР>                  public ConcreteClass, // класс
МР>                  public Interface2,    // интерфейс
МР>                  ...
МР>                  public InterfaceN     // интерфейс
МР>{
МР>//...
МР>};
МР>


Разницы нет, это одно и то же.

P.S. Уточним — что под понитиями Interface1, Interface2, ... InterfaceN, подразумеваются именно
абстрактные базовые классы — не имеюшие какой-либо реализации:
http://qaru.site/questions/80587/abstract-class-vs-interface-in-c
http://natalia.appmat.ru/c&c++/lezione17.php

К сожалению, в стандарте C++ понятия "интерфейс" нет, мы просто условимся считать так, как указано выше.
Отредактировано 04.06.2018 19:12 AlexGin . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.