Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
met_OOP_4s_2010.doc
Скачиваний:
1
Добавлен:
10.11.2019
Размер:
894 Кб
Скачать
☆

Задание к программе 3.1

Упражнения:

  1. Поместите определение класса Man и реализации его методов в дополнительный заголовочный файл.

  2. Создайте массив экземпляров класса объектов Student и продемонстрируйте в функции main() работу с ним с помощью цикла.

  3. Удалите в определении класса Student наследование от класса Group, запустите компиляцию и объясните сообщения об ошибках.

  4. Сделайте метод set_University() в классе University закрытым и попытайтесь откомпилировать программу, прокомментируйте сообщения об ошибках.

  5. Создайте экземпляры классов "Университет", Факультет", "Группа", "Человек", покажите доступ к их компонентам.

Задания:

Первый вариант: Создайте производный класс "Участник игры КВН", наследующий классы "Факультет" и "Человек". Класс должен содержать собственную компоненту "Наименование команды" и функцию ее ввода. Класс должен иметь функцию вывода на печать наименования команды, названия факультета и фамилии игрока. Нарисуйте в отчете схему наследования, аналогичную приведенной.

Второй вариант: Создайте производный класс "Проездной билет", наследующий классы "Университет" и "Человек". Класс должен содержать собственную компоненту "Номер билета" и функцию ее ввода. Класс должен иметь функцию вывода на печать номера билета, названия университета и фамилии владельца билета. Нарисуйте в отчете схему наследования, аналогичную приведенной.

*Общее задание: Придумайте собственный пример наследования.

2. Контрольные вопросы к лабораторной работе №3

  1. Сформулируйте правила доступа в производном классе к закрытым и открытым компонентам базового класса, если он наследуется со спецификатором public.

  2. Сформулируйте правила доступа в производном классе к закрытым и открытым компонентам базового класса, если он наследуется со спецификатором private.

  3. Как сделать компоненты базового класса доступными в производном классе, но недоступными вне классов?

  4. Укажите ошибки и исправьте их в примере:

#include <iostream.h>

class B{

int b;

public:

void setb() {cin>>b;}

};

class C : private B{

int c;

public:

void setc() {setb(); cin>>c;}

void show() {cout<<b<<c;}

};

int main()

{

C ob;

ob.setb();

ob.setc();

ob.show();

return 0;

}

Кудерметов Р.К.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]