Автор Andrew Pil задал вопрос в разделе Другие языки и технологии
Виртуальное наследование С++ и получил лучший ответ
Ответ от Ilia[гуру]
Виртуальную функцию надо определять, если нет ее реализации по умолчанию (в базовом классе она объявлена как чисто виртуальная). Поскольку для класса D есть две реализации виртуальной функции (из B и C), то непонятно какую функцию использовать при вызове, поэтому в D ее нужно переопределить (чтобы разрешить неоднозначность) или убрать множественное наследование
Поскольку виртуальная функция переопределена в В и С, то для классов B, C и D неважно будет ли в А метод чисто виртуальным или нет, но для A это имеет значение: если класс А имеет хотя бы одну чисто виртуальную функцию, то он становится абстрактным, то есть нельзя будет создать его экземпляр
Ключевое слово virtual
для чего нужны виртуальные функции в C+/+?
Современные программы могут насчитывать десятки тысяч классов, которые связаны между собой
подробнее...
ООП: что такое инкапсуляция, абстракция, полиморфизм и наследование?
инкапсуляция - включение в класс данных (или других классов) с ограничением доступа к ним.
подробнее...
С++ виртуальный метод
Например:
Есть класс Window. Стандартный виндовый какой-нить. Или из какой-нить библиотеки
подробнее...
Расскажите, для чего вобще нужны Виртуальные методы?
Читай:
Виртуальный метод (виртуальная функция) — в объектно-ориентированном
подробнее...
Виртуальные функции в c#,зачем они?
override означает перекрывание одноименного метода/свойства класса-потомка. по сути замена этим
подробнее...
microsoft.net framework, Зачем это надо, и что будет, если я удалю это с компа???
.NET Framework — программная технология от компании Microsoft, предназначенная для создания обычных
подробнее...
Объектно ориентированное программирование. (ООП)
Так никто нормально и не ответил!
Три признака ООП: инкапсуляция, наследование и полиморфизм.
подробнее...
Каких лошадей называют чалыми?
В Германии, например, используется термин, означающий в переводе на английский «permanent gray»
подробнее...
что такое объект? (в информатике)
Объект в программировании — некоторая сущность в виртуальном пространстве, обладающая
подробнее...
microsoft .net framework 2.0 что это и для чего, устанавливаю игру запрашивает восстановить, удалить microsoft .net fram
NET Framework — программная технология от компании Microsoft, предназначенная для создания обычных
подробнее...
В чем отличие С++ от С, С#, и С#.Net и какое отношение к ним имеет Sharp
С это подмножество С++. То есть изучив С++ вы должны без проблем понимать С.
Грубо
подробнее...
Что такое "интерфейс"? Вот, я читаю - "IDisposable - это такой интерфейс..."... и Что такое IDisposable?
Интерфейс - такое хитрое наследование, которое отражает некий аспект поведения, в отличие от
подробнее...
Что такое Фреймворк???
Framework — термин, имеющий размытое значение. Обычно используется в программировании, обозначая
подробнее...
Зелёные глаза-тоже мутация или разновидность голубых?
Карие глаза - при наличии красителя - меланина. Цвет красителя - коричневый, разных тонов - зависит
подробнее...