
- •Лабораторная работа № 4
- •1. Цель работы
- •2. Краткие теоретические сведения
- •2.2. Свойства класса
- •2.3. Методы класса
- •2.4. Специальные методы класса: конструктор и деструктор
- •3. Наследование
- •4. Пример создания иерархии из трех классов
- •4.1 Решение
- •4.2. Программные коды файлов
- •4.3 Результат работы программы
- •9. Контрольные вопросы
4.3 Результат работы программы
На рисунке 1 представлены результаты работы приложения с использованием разработанных классов.
Рисунок 1 – Результат работы приложения
Порядок выполнения методов классов определен в функции main(). Доступ к методам базового класса показан текстовыми сообщениями, отображаемыми при работе соответствующих методов.
5. Порядок выполнения работы
1) Разработать описания двух классов (базового и производного) для решения задачи по указанному преподавателем варианту. Также создать программу для работы с объектами этих классов.
2) Оформить отчет.
6. Содержание отчета
Отчет по лабораторной работе должен содержать:
название и цель работы;
текст программы;
исходные данные и результаты вычислений (скриншоты);
выводы по работе.
7. Задание на лабораторную работу
В соответствии с полученным вариантом задания разработать иерархию из базового класса и одного производного класса (каждый класс – в отдельном файле). Методы производного класса, совпадающие по своим действиям с методами базового класса, должны быть наследованы.
Создать новый файл с основной функцией программы main(), создать в ней объекты разработанных классов. Вызвать у каждого объекта все доступные методы разработанных классов.
8. Варианты заданий
Разработать классы:
а) базовый класс Base, описывающий два числа.
Свойства класса:
два числа d1 и d2;
Методы класса:
конструктор: присвоение нулевых значений свойствам класса;
ввод значений пользователем в свойства класса d1 и d2;
определение и вывод на экран произведения свойств класса;
вывод значений свойств класса d1 и d2 на экран.
б) производный класс СRomb для описания ромба.
Свойства класса:
диагонали ромба d1 и d2;
площадь S;
периметр P;
длина стороны l.
Методы класса:
конструктор: присвоение нулевых значений свойствам класса;
ввод пользователем значений свойств класса d1 и d2;
вычисление и вывод на экран значения площади ромба;
вычисление и вывод на экран значения периметра ромба;
вычисление длины стороны ромба и вывод ее значения на экран.
Разработать классы:
а) базовый класс Base, описывающий три числа.
Свойства класса:
три числа w, l и h;
Методы класса:
конструктор: присвоение нулевых значений свойствам класса w, l и h;
ввод значений пользователем в свойства класса w, l и h;
определение и вывод на экран суммы свойств класса;
вывод значений свойств класса w, l и h на экран.
б) производный класс CParal для описания параллелепипеда.
Свойства класса:
ширина, длина и высота параллелепипеда w, l и h;
площадь поверхности S;
объем V;
диагональ параллелепипеда d.
Методы класса:
конструктор: присвоение нулевых значений свойствам класса;
ввод пользователем с клавиатуры значений свойств класса w, l и h;
расчет величины диагонали параллелепипеда и вывод ее значения на экран;
расчет и вывод на экран площади поверхности параллелепипеда;
расчет объема параллелепипеда и вывод его значения на экран.
Разработать классы:
а) базовый класс Base, описывающий четыре числа.
Свойства класса:
четыре числа x, y, R, r;
Методы класса:
конструктор: присвоение нулевых значений свойствам класса;
ввод значений пользователем в свойства класса x, y, R, r;
определение и вывод на экран произведения свойств класса;
вывод значений свойств класса x, y, R, r на экран.
б) производный класс СRing, описывающий кольцо.
Свойства класса:
координаты точки центра кольца x, y;
внешний и внутренний радиусы кольца R и r;
площадь S.
Методы класса:
конструктор: присвоение нулевых значений свойствам класса;
ввод пользователем значений координат точки центра круга и радиусов x, y, R, r;
проверка правильности исходных данных (R>r, r>0);
вычисление и вывод на экран значения площади кольца;
определение, лежит ли внутри кольца точка, координаты которой вводит пользователь.