- •Задание к программе 1.1
- •Задание к программе 1.2
- •*Задание к программе 1.3
- •*Задание к программе 1.4
- •2. Контрольные вопросы к лабораторной работе №1
- •Объектно-ориентированное программирование Лабораторная работа №2 Дружественные функции, перегрузка операций
- •1. Задание к лабораторной работе
- •Задание к программе 2.2
- •Задание к программе 2.3
- •*Задание к программе 2.4
- •2. Контрольные вопросы к лабораторной работе №2
- •Объектно-ориентированное программирование Лабораторная работа №3 Наследование
- •1. Задание к лабораторной работе
- •Задание к программе 3.1
- •2. Контрольные вопросы к лабораторной работе №3
Задание к программе 3.1
Упражнения:
Поместите определение класса Man и реализации его методов в дополнительный заголовочный файл.
Создайте массив экземпляров класса объектов Student и продемонстрируйте в функции main() работу с ним с помощью цикла.
Удалите в определении класса Student наследование от класса Group, запустите компиляцию и объясните сообщения об ошибках.
Сделайте метод set_University() в классе University закрытым и попытайтесь откомпилировать программу, прокомментируйте сообщения об ошибках.
Создайте экземпляры классов "Университет", Факультет", "Группа", "Человек", покажите доступ к их компонентам.
Задания:
Первый вариант: Создайте производный класс "Участник игры КВН", наследующий классы "Факультет" и "Человек". Класс должен содержать собственную компоненту "Наименование команды" и функцию ее ввода. Класс должен иметь функцию вывода на печать наименования команды, названия факультета и фамилии игрока. Нарисуйте в отчете схему наследования, аналогичную приведенной.
Второй вариант: Создайте производный класс "Проездной билет", наследующий классы "Университет" и "Человек". Класс должен содержать собственную компоненту "Номер билета" и функцию ее ввода. Класс должен иметь функцию вывода на печать номера билета, названия университета и фамилии владельца билета. Нарисуйте в отчете схему наследования, аналогичную приведенной.
*Общее задание: Придумайте собственный пример наследования.
2. Контрольные вопросы к лабораторной работе №3
Сформулируйте правила доступа в производном классе к закрытым и открытым компонентам базового класса, если он наследуется со спецификатором public.
Сформулируйте правила доступа в производном классе к закрытым и открытым компонентам базового класса, если он наследуется со спецификатором private.
Как сделать компоненты базового класса доступными в производном классе, но недоступными вне классов?
Укажите ошибки и исправьте их в примере:
#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;
}
Кудерметов Р.К.
