- •1. Краткие теоретические сведения
- •1.1. Объектно-ориентированный подход-Бузюков
- •1.2. Этапы разработки ооп систем
- •1.3. Декомпозиция
- •1.5. Концепции ооп
- •1.6. Синтаксис объявления класса
- •1.7. Методы класса
- •1.8. Объявление объектов
- •1.9. Конструктор
- •1.10. Деструктор
- •1.11. Инкапсуляция
- •1.12. Полиморфизм
- •1.13. Указатель this
- •1.14. Статические члены класса
- •1.15. Дружественные функции и классы
- •1.16. Вложенные классы
- •1.17. Элементы класса
- •1.17.1. Данные-элементы
- •1.17.2. Элементы-функции
- •1.17.3. Доступ к данным-элементам
- •1.17.4. Вызов функций-элементов
- •1.17.5. Указатели на компоненты-функции.
- •2. Задание
- •2.4.1.2. Пример для варианта 30
- •2.4.1.2.1. Разработка алгоритма решения.
- •2.4.1.2.2. Описание структуры класса.
- •2.4.1.2.2.1. Описание полей класса.
- •2.4.1.2.2.2. Функции-аксессоры.
- •2.4.1.3. Программа
- •2.4.1.4. Тестирование
- •2.4.2. Задание 2. Простейшие классы и объекты
- •2.4.2.1. Условие задания
- •2.4.2.2. Пример
- •2.4.2.3. Программа
- •2.4.2.4. Тестирование
- •2.4.3. Задание 3. Простейший класс. Объединение данных и методов
- •2.4.3.1. Условие задания
- •2.4.3.2. Пример
- •2.4.3.3. Программы
- •2.4.3.3.1. Первый принцип инкапсуляции: объединение данных и методов
- •2.4.3.3.2. Второй принцип инкапсуляции: защита от внешнего вмешательства
- •2.4.3.3.3. Независимость интерфейса от реализации
- •2.4.3.3.4. Конструктор, деструктор
- •2.4.3.3.5. Определение методов вне класса
- •2.4.3.3.6. Конcтантные поля, методы и объекты
- •2.4.3.4. Тестирование
- •2.4.4. Задание 4. Пользовательский класс
- •2.4.4.1. Условие задания
- •2.4.4.2. Методические указания.
- •1. Пример определения класса.
- •2. Пример реализации конструктора с выдачей сообщения.
- •3. Выводы
- •4. Требование к отчету
- •4. Краткие теоретические сведения.
- •5. Вопросы для самоконтроля
- •Литература
- •1. Краткие теоретические сведения 2
- •1.1. Объектно-ориентированный подход-Бузюков 2
2.4.3.4. Тестирование
2.4.4. Задание 4. Пользовательский класс
1. Определить пользовательский класс в соответствии с вариантом задания (таб. 20.13).
2. Определить в классе следующие конструкторы: без параметров, с параметрами, копирования.
3. Определить в классе деструктор.
4. Определить в классе компоненты-функции для просмотра и установки полей данных.
5. Определить указатель на компоненту-функцию.
6. Определить указатель на экземпляр класса.
7. Написать демонстрационную программу, в которой создаются и разрушаются объекты пользовательского класса и каждый вызов конструктора и деструктора сопровождается выдачей соответствующего сообщения (какой объект какой конструктор или деструктор вызвал).
8. Показать в программе использование указателя на объект и указателя на компоненту-функцию.
Внимание: см. раздел2.4.4.2. Методические указания.
2.4.4.1. Условие задания
Таблица 20.6
Варианты заданий
№ |
Класс |
№ |
Класс |
№ |
Класс |
1 |
СТУДЕНТ имя – char* курс – int пол – int(bool) |
2 |
СЛУЖАЩИЙ имя – char* возраст – int рабочий стаж – int |
3 |
КАДРЫ имя – char* номер цеха – int разряд – int |
4 |
ИЗДЕЛИЕ имя – char* шифр – char* количество – int |
5 |
БИБЛИОТЕКА имя – char* автор – char* стоимость – float |
6 |
ЭКЗАМЕН имя студента – char* дата – int оценка – int |
7 |
АДРЕС имя – char* улица – char* номер дома – int |
8 |
ТОВАР имя – char* количество – int стоимость – float |
9 |
КВИТАНЦИЯ номер – int дата – int сумма – float |
10 |
ЦЕХ имя – char* начальник – char* количество работающих – int |
11 |
ПЕРСОНА имя – char* возраст – int пол – int(bool) |
12 |
АВТОМОБИЛЬ марка – char* мощность – int стоимось – float |
13 |
СТРАНА имя – char* форма правления – char* площать – float |
14 |
ЖИВОТНОЕ имя – char* класс – char* средний вес – int |
15 |
КОРАБЛЬ имя – char* водоизмещение – int тип – char* |
16 |
САМОЛЕТ рейс – char* количество пассажиров – int тип – char* |
17 |
ПОЕЗД номер – char* количество вагонов – int тип – char* |
18 |
МАРШРУТ номер – char* количество туристов – int тип – char* |
19 |
ТУРИСТ имя – char* возраст – int пол – int(bool) |
20 |
ТЕЛЕФОН имя – char* номер – int кафедра – char* |
21 |
ЗОДИАК имя – char* возраст – int знак – char* |
22 |
ЦЕНА товар – char* стоимость – float магазин – char* |
23 |
СЧЕТ номер – int дата – int сумма – float |
24 |
СЛУЖАЩИЙ имя – char* возраст – int оклад – float |
25 |
АССОРТИМЕНТ имя – char* количество – int стоимость – float |
26 |
ПАЦИЕНТ имя – char* дата – int возраст – int |
27 |
РЕЙТИНГ имя – char* баллы – int группа – char* |
28 |
ЗАНЯТИЯ имя – char* пропущено – int группа – char* |
29 |
УЧЕБНИК имя – char* автор – char* количество – int |
30 |
СПОРТ имя – char* вид – char* разряд – int |