Сообщение Re[6]: Множественное наследование интерфейсов от 04.06.2018 18:53
Изменено 04.06.2018 19:16 AlexGin
Re[6]: Множественное наследование интерфейсов
Здравствуйте, SaZ, Вы писали:
SaZ>Здравствуйте, AlexGin, Вы писали:
AG>>Я в курсе, что такое виртуальный базовый класс, но в данном случае — ТС наследует только от одного класса,
AG>>всё остальное — интерфейсы (абстрактные базовые классы). Множественного наследования реализаций — здесь нет.
AG>>Так что данная ссылка — не в тему.
SaZ>Совершенно чётко ясно, что порядок наследования определяет порядок инициализации полей класса и вызова конструкторов/деструкторов. Ваше утверждение что это не так — неверно.
У абстрактных базовых классов, выполняющих роль интерфейсов — полей нет (также как и конструкторов).
Насчёт деструкторов — да, вероятно, есть пустые вирт-деструкторы, но конкретно — отработает только тот, что в ConcreteClass.
Данное твоё высказывание, правильное в общем случае, здесь не актуально.
SaZ>В си++ пока ещё нет понятия интерфейса.
Это понятно, но в данном случае — роль интерфейса выполняет именно он.
Вопрос был — о конкретном куске кода, не надо уходить от вопроса!
SaZ>Это может быть договоренность в рамках конкретного проекта.
http://qaru.site/questions/80587/abstract-class-vs-interface-in-c
P.S. Здесь ставился именно конкретный вопрос, на который я дал верный ответ.
Дальнейшие теоретизирования с твоей стороны, только дополнительно показывают отсутствие практических возражений.
SaZ>Здравствуйте, AlexGin, Вы писали:
AG>>Я в курсе, что такое виртуальный базовый класс, но в данном случае — ТС наследует только от одного класса,
AG>>всё остальное — интерфейсы (абстрактные базовые классы). Множественного наследования реализаций — здесь нет.
AG>>Так что данная ссылка — не в тему.
SaZ>Совершенно чётко ясно, что порядок наследования определяет порядок инициализации полей класса и вызова конструкторов/деструкторов. Ваше утверждение что это не так — неверно.
У абстрактных базовых классов, выполняющих роль интерфейсов — полей нет (также как и конструкторов).
Насчёт деструкторов — да, вероятно, есть пустые вирт-деструкторы, но конкретно — отработает только тот, что в ConcreteClass.
Данное твоё высказывание, правильное в общем случае, здесь не актуально.
SaZ>В си++ пока ещё нет понятия интерфейса.
Это понятно, но в данном случае — роль интерфейса выполняет именно он.
Вопрос был — о конкретном куске кода, не надо уходить от вопроса!
SaZ>Это может быть договоренность в рамках конкретного проекта.
http://qaru.site/questions/80587/abstract-class-vs-interface-in-c
P.S. Здесь ставился именно конкретный вопрос, на который я дал верный ответ.
Дальнейшие теоретизирования с твоей стороны, только дополнительно показывают отсутствие практических возражений.
Re[6]: Множественное наследование интерфейсов
Здравствуйте, SaZ, Вы писали:
SaZ>Здравствуйте, AlexGin, Вы писали:
AG>>Я в курсе, что такое виртуальный базовый класс, но в данном случае — ТС наследует только от одного класса,
AG>>всё остальное — интерфейсы (абстрактные базовые классы). Множественного наследования реализаций — здесь нет.
AG>>Так что данная ссылка — не в тему.
SaZ>Совершенно чётко ясно, что порядок наследования определяет порядок инициализации полей класса и вызова конструкторов/деструкторов. Ваше утверждение что это не так — неверно.
У абстрактных базовых классов, выполняющих роль интерфейсов — полей нет (также как и конструкторов).
Насчёт деструкторов — да, вероятно, есть пустые вирт-деструкторы (а правильнее — чисто виртуальные деструкторы),
то-есть конкретно — отработает только тот, что в ConcreteClass.
Посему, данное твоё высказывание, правильное в общем случае, здесь не актуально.
SaZ>В си++ пока ещё нет понятия интерфейса.
Это понятно, но в данном случае — роль интерфейса выполняет именно он.
Вопрос был — о конкретном куске кода, не надо уходить от вопроса!
SaZ>Это может быть договоренность в рамках конкретного проекта.
http://qaru.site/questions/80587/abstract-class-vs-interface-in-c
P.S. Здесь ставился именно конкретный вопрос, на который я дал верный ответ.
Дальнейшие теоретизирования с твоей стороны, только дополнительно показывают отсутствие практических возражений.
SaZ>Здравствуйте, AlexGin, Вы писали:
AG>>Я в курсе, что такое виртуальный базовый класс, но в данном случае — ТС наследует только от одного класса,
AG>>всё остальное — интерфейсы (абстрактные базовые классы). Множественного наследования реализаций — здесь нет.
AG>>Так что данная ссылка — не в тему.
SaZ>Совершенно чётко ясно, что порядок наследования определяет порядок инициализации полей класса и вызова конструкторов/деструкторов. Ваше утверждение что это не так — неверно.
У абстрактных базовых классов, выполняющих роль интерфейсов — полей нет (также как и конструкторов).
Насчёт деструкторов — да, вероятно, есть пустые вирт-деструкторы (а правильнее — чисто виртуальные деструкторы),
то-есть конкретно — отработает только тот, что в ConcreteClass.
Посему, данное твоё высказывание, правильное в общем случае, здесь не актуально.
SaZ>В си++ пока ещё нет понятия интерфейса.
Это понятно, но в данном случае — роль интерфейса выполняет именно он.
Вопрос был — о конкретном куске кода, не надо уходить от вопроса!
SaZ>Это может быть договоренность в рамках конкретного проекта.
http://qaru.site/questions/80587/abstract-class-vs-interface-in-c
P.S. Здесь ставился именно конкретный вопрос, на который я дал верный ответ.
Дальнейшие теоретизирования с твоей стороны, только дополнительно показывают отсутствие практических возражений.