Ответы на контрольные вопросы по лекции 14
.docxОтветы на контрольные вопросы по лекции 14
Дисциплина: объектно-ориентированное программирование
Студент: Заболотников М.Е.
Группа: 9373
Что называется множественным наследованием?
Множественным наследованием называется наличие нескольких прямых базовых классов.
Во что преобразуется дерево наследования при наличии механизма множественного наследования?
При таком раскладе дерево наследования преобразуется в направленный граф множественного наследования.
Может ли один и тот же класс встречаться несколько раз в графе наследования и, если да, то есть ли ограничения?
Может. Однако есть ограничения: при множественном наследовании никакой класс не может больше одного раза использоваться в качестве непосредственного базового. Однако класс может больше одного раза быть непрямым базовым классом.
Какие неоднозначности могут возникать при множественном наследовании и как они разрешаются?
При использовании множественного наследования могут возникать неоднозначности при доступе к одноименным компонентам разных базовых классов. Простейший и самый надежный способ устранения неоднозначностей - использование квалифицированных имен компонентов.
Какой класс называется виртуальным?
Виртуальным называется непрямой базовый класс, который позволяет избежать дублирование объектов. В списке базовых классов перед именем такого класса необходимо поместить ключевое слово virtual.
Почему один и тот же класс в графе наследования может быть как виртуальным, так и не виртуальным?
Размеры производных классов при отсутствии виртуальных базовых равны сумме длин их компонентов и длин унаследованных базовых классов. «Накладные расходы» памяти здесь отсутствуют. Помимо прочего, виртуальность класса в иерархии производных классов является не свойством класса как такового, а результатом особенностей процедуры наследования.