Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

ЗАДАНИЕ 1 Конструкторы Класс Derived является производным public от классов Bse1 и Bse2

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 25.11.2024

Рубанчик В. Б.

Лабораторная №9

Исследования механизма множественного наследования.

2/2

Исследование механизма множественного наследования

ЗАДАНИЕ 1 (Конструкторы)

Класс Derived является производным (public) от классов Base1 и Base2. Каждый из трех классов имеет по два конструктора, которые (кроме описанных ниже действий) выводят сообщение о вызове типа "Конструктор Base2 без параметров".

Класс Base1, имеет одно закрытое поле i целого типа. Первый конструктор не имеет параметров и обнуляет i. Второй имеет один параметр типа int, используемый для инициализации i произвольными значениями. Класс имеет две общедоступные интерфейсные функции void put(int) и int get(void), которые позволяют изменить или прочесть значение i.

Класс Base2, имеет одно закрытое поле - массив name из 20 элементов. Первый конструктор не имеет параметров и инициализирует поле name словом "Пусто". Второй имеет один параметр типа char*, используемый для инициализации name значениями символьных строк. Класс имеет две общедоступные интерфейсные функции void put(char*) и char* get(void), которые позволяют изменить или прочесть значение name.

Класс Derived имеет одно закрытое поле ch типа char. Первый конструктор не имеет параметров и присваивает ch значение 'V' (от void - пустой). Второй конструктор имеет три параметра типов char, char* и int, используемые для инициализации соответственно полей ch, name и i. Класс имеет две общедоступные интерфейсные функции void put(char) и char get(void), которые позволяют изменить или прочесть значение ch. Кроме того, в нем объявляется как дружественная операция вставки в поток вывода, которая выводит на экран значения i, name и ch.

  1.  В функции main описать переменную типа Derived без инициализации и вывести ее значение с помощью перегруженной операции вставки в поток. Выяснить порядок вызова конструкторов.
  2.  Описать другую переменную класса Derived, инициализировав ее явно некоторыми значениями. Вывести значение этой переменной на экран и проанализировать порядок вызова конструкторов.
  3.  В конструкторе класса Derived с параметрами изменить порядок вызова конструкторов базовых классов. Проверить, как это отразилось на работе программы и почему.
  4.  Изменить порядок наследования базовых классов в описании класса Derived и проверить, как это отразилось на работе программы.

 ЗАДАНИЕ 2 (Виртуальные базовые классы)

Задан базовый класс DomesticAnimal (домашнее животное), в котором определены три защищенных поля weight (вес), price (цена) и color (окраска). Класс снабжен конструктором без параметров и конструктором с тремя параметрами для инициализации полей трех класса. Кроме того определена функция print, выводящая значения полей и сообщение о принадлежности функции к классу DomesticAnimal.

Производными от этого класса (public) являются классы Cow (корова) и Buffalo (бык), в которых не определено новых полей.

Класс Beefalo (теленок) является производным (public) от Cow и Buffalo. Его конструктор инициализирует поля weight, price и color без передачи параметров своим базовым классам Cow и Buffalo.

Классы Cow, Buffalo и Beefalo имеют свои функции print, которые выводят сообщения о своей принадлежности к конкретному классу и выводят значения трех полей с помощью вызова print из DomesticAnimal.

  1.  Выявить и объяснить ошибки при компиляции, исправить программу.
  2.  В функции main описать переменные типа Cow и Beefalo (с инициализацией) и вызвать для них функцию print. Объяснить результаты.




1. а не оговорив сроков подачи этой справки
2. Реферат- Ученье в долг
3. .Н.Плевако по делу рабочих Коншинской фабрики с точки зрения рассмотренных выше коммуникативных характерист
4. Курсовая работа- Изнасилование
5. невозобновимые минеральные ресурсы и невозобновимые энергетические ресурсы.
6. Финансовые санкции за совершение налогового правонарушения
7. і. Можливості використання засобів складання та виготовлення документів у межах навчального закладу
8. Контрольная работа.html
9.  Ранние этапы развития планеты Земля в период своего зарождения представляла собой железокаменное космич
10. вещества предназначенные для борьбы с животными и растениямивредителями с целью повышения урожайности и
11. Научно-теоретические аспекты управления доходами и расходами бюджета муниципального образования
12. Российский университет кооперации Факультет предпринимательства и таможенного дела Кафедра коммерц
13. Так мало батьківських пестощів випало на мою долю
14. Контрольная работа- Правовые особенности брака
15. На тему- Отчет об оценке квартиры общей площадью 1945 кв.html
16. р для 2 курсу Академічна група Естетика
17. Философия для студентов дневной и заочной форм обучения Философия ее предмет и роль в обществе
18. БЕСЕДА С РОДИТЕЛЯМИ
19. Челкаш и Гаврила в рассказе М Горького Челкаш
20. ридизация прижизн