Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Множественное наследование
Подготовка к работе. По указанной литературе и конспекту лекций повторить тему «Множественное наследование». Разработать программу в соответствии с заданием к лабораторной работе.
Задание. 1. Используя класс, созданный в работе № 3, и класс №1, созданный в работе № 5, в качестве базовых, разработать с применением множественного наследования класс, наследующий свойства обоих базовых классов. Поля базовых классов должны иметь режим доступа, позволяющий наследовать их производным классом. При необходимости для упрощения текста программы из классов можно удалить неиспользуемые функции. 2. В производном классе предусмотреть не менее одного конструктора с аргументами, а также стандартный конструктор и деструктор. Во всех конструкторах и деструкторе должны находиться индикационные сообщения, аналогичные сообщениям в работе №3. 3. В функции main() создать объекты производного класса при помощи каждого из его конструкторов. Проверить работу конструкторов и деструктора производного класса. Проверить результат работы конструкторов с помощью функции вывода. Проверить порядок создания объектов производного класса по индикационным сообщениям конструкторов. Таким же образом проверить порядок разрушения объектов. (При необходимости использовать динамический объект, явно удаляемый операцией delete.) Сделать выводы. 4. В отчете по работе привести диаграмму иерархии классов. Сохранить файл с тестом программы для последующих работ.
Контрольные вопросы. 1. Что такое наследование? 2. Что такое множественное наследование? 3. Какие компоненты базовых классов могут быть унаследованы производными классами? 4. Как меняется режим доступа к компонентам классов при наследовании? 5. Каков формат указания базовых классов при создании производного класса? 6. Как влияет спецификатор доступа, указываемый перед именем базового класса на режим доступа унаследованных компонент? 7. Как графически может быть отображено отношение множественного наследования между классами? 8. Что означает понятие «прямой базовый класс»? 9. Почему базовые классы иногда называют «суперклассами»? 10. Сколько прямых базовых классов может быть у производного класса? 11. Может ли один и тот же класс быть несколько раз прямым базовым классом при создании производного класса? 12. Наследуются ли производными классами конструкторы и деструкторы? 13. Как организуется взаимодействие конструкторов производного и базовых классов? 14. Что означает понятие «непрямой базовый класс»? 15. Может ли один и тот же класс быть несколько раз непрямым базовым классом при создании производного класса? 16. Может ли один и тот же класс быть одновременно прямым и непрямым базовым классом при создании производного класса? 17. В каком порядке создается объект производного класса? 18. Каков порядок указания классов в списке базовых?
Лабораторная работа №7
|