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

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

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

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

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

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

от 25%

Подписываем

договор

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

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

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

Лабораторная №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. Отчет по лабораторной работе 18 Обработка субпродук
2.  Для проверки правильности регулировки стояночного тормоза найдите вблизи места стоянки вашего автомобиля
3. Формирование первоначальной стоимости основных средств в зависимости от способа их поступления
4. ЗАДАНИЕ на проектирование ldquo;Времяимпульсного аналогоцифрового преобразователяrdquo; 1 Область примен
5. Классификация ценностей современного человека
6. контрольная работа Предпосылки возникновения маркетинга
7. Восточная ЭкономикоЮридическая Гуманитарная Академия Академия ВЭГУ Специальность- фин
8. Берлинский зоопарк (berlin zoo)
9. Петербурга От
10. Аэропорт Кольцово