1) Разработать описания двух классов (базового и производного) для решения задачи по указанному преподавателем варианту. Также создать программу для работы с объектами этих классов.
2) Оформить отчет.
Содержание отчета
Отчет по лабораторной работе должен содержать:
· название и цель работы;
· текст программы;
· исходные данные и результаты вычислений (скриншоты);
· выводы по работе.
Задание на лабораторную работу
В соответствии с полученным вариантом задания разработать иерархию из базового класса и одного производного класса (каждый класс – в отдельном файле). Методы производного класса, совпадающие по своим действиям с методами базового класса, должны быть наследованы.
Создать новый файл с основной функцией программы main(), создать в ней объекты разработанных классов. Вызвать у каждого объекта все доступные методы разработанных классов.
· ввод пользователем значений координат точки центра круга и радиусов x, y, R, r;
· проверка правильности исходных данных (R>r, r>0);
· вычисление и вывод на экран значения площади кольца;
определение, лежит ли внутри кольца точка, координаты которой вводит пользователь.
Контрольные вопросы
1. Каковы основные принципы объектно-ориентированного программирования?
2. Какие свойства содержит разработанный вами класс?
3. Какие методы содержит разработанный вами класс, какие свойства класса используются в этих методах? Какие свойства и методы наследуются из базового класса? Описание каких методов в иерархии классов соответствует определению полиморфизма?
4. Какие существуют атрибуты доступа к членам класса? Какие из них использованы в созданном вами классе и почему?
5. Что такое ключ доступа? Какие ключи доступа использованы в вашем проекте и почему?
6. Какие специальные методы класса вы знаете? Как они реализованы в разработанных вами классах?
Список литературы
1. Страуструп, Б. Язык программирования C++ = The C++ programming language: специальное издание/ Б. Страуструп; пер. с англ. С. Анисимова и М. Кононова; под ред. Ф. Андреева и А. Ушакова. – М.: Бином-Пресс, 2008 .— 1104 с.
2. Шилдт, Г. C++: базовый курс/ Г. Шилдт; пер. с англ. и ред. Н. М. Ручко . – 4-е изд. – М.: Вильямс, 2009. – 800 с.
3. Липпман, С.Б. Язык программирования C++. Вводный курс/ С.Б. Липпман, Ж. Лажойе; Пер. с англ. А. Слинкина .— 4-е изд. – М.: Вильямс, 2006 .– 896 с.
4. Подбельский, В.В. Язык Си+: Учеб.пособие .— 5-е изд. — М. : Финансы и статистика, 2012 .— 560с.
5. Культин Н.Б. С/С++ в задачах и примерах. – СПб.: БХВ- Петербург, 2005. – 288 с.
6. Прата, С. Язык программирования C++: лекции и упражнения. Platinum Edition: пер. с англ./ С. Прата.— Москва: DiaSoft, 2009. – 1097 с.