Используя чистые виртуальные методы для искусственных интерфейсов в C ++, что происходит, когда конкретный класс является производным от двух «интерфейсов», которые имеют идентичное объявление метода? например, X
подклассы Iaaa
и Ibbb
и реализует метод virtual void setVisible (bool);
.
Делает ли факт Iaaa
и Ibbb
отсутствие тела метода проще / лучше, чем более классический сценарий наследования алмаза, и позволяет ли X :: setVisible
быть реализацией как Iaaa :: setVisible
, так и Ibbb :: setVisible
?
Я полагаю, что более точная формулировка вопроса на языке C ++ - "что происходит когда один класс использует MI для получения производных от 2 классов, которые имеют идентичные сигнатуры для чистого виртуального метода ".