Тема. Шаблонные классы. Использование STL
Цель.
· Получение практических навыков по использованию классов и алгоритмов STL при решении практических задач
Задание 1. Разработать шаблон контейнера и продемонстрировать его применение к стандартным типам и пользовательскому типу (классу).
- Разработать шаблонный класс контейнер, указанного в варианте типа.
- Разработайте консольное приложение, демонстрирующее работоспособность класса для стандартных типов: целого и вещественного.
- Разработайте класс варианта, со списком полей определенным в варианте, методом вывода на экран значения класса и другими необходимыми методами.
- Измените приложение, разработанное согласно п.2 данного задания, так, чтобы продемонстрировать возможность применения контейнера к классу.
Примечание. Для представления текстовых данных использовать динамическую память. В классе предусмотреть метод копирующего конструктора и перегрузить операцию присваивания.
Операции над элементами контейнера.
|
|
Для стека: втолкнуть элемент, вытолкнуть, определить количество элементов в стеке.
Для очереди: добавить, удалить, определить значение первого элемента.
Для списка: вставить элемент в заданную позицию (с проверкой позиции), удалить элемент в позиции, определить значение в позиции.
Для дека (очередь с двумя вершинами): вставить элемент в дек, удалить элемент из дека, определить значение последнего узла.
Задание 2. Применить контейнер STL.
- Разработать новое консольное приложение, демонстрирующее применение контейнера STL, соответствующего типу контейнера, определенного в варианте.
- Предусмотреть демонстрацию всех операций, допустимых над структурой, которая определена контейнером.
Номер | Тип контейнера | Класс |
Стек | Студент (Фамилия, имя, номер группы) | |
Список | Книга (Автор, Название, Год издания, издательство) | |
Очередь | Детская игрушка (Название, Цена, Возрастная группа) | |
Дек | Комплексное число (действительная часть, мнимая часть) | |
Стек | Дата (День, Название месяца, Год) | |
Список | Сотрудник (Фамилия, Имя, должность) | |
Очередь | Тур (Страна, Время пребывания, Стоимость) | |
Дек | Товар (Название, Производитель, Цена) | |
Стек | Расписание поездов (Номер поезда, Пункт назначения, Время отправления) | |
Список | Штатное расписание(Название должности, оклад, количество единиц) | |
Очередь | Материальная ценность (Название, Инвентарный номер, Цена, Дата, Номер комнаты) | |
Дек | Страна(Название, Материк, Численность, Общая площадь) | |
Стек | Счет фактура (Название организации отпускающей товар, Номер, Дата, Сумма, Название организации покупающей товар) | |
Список | Успеваемость школьника (Фамилия, Название дисциплины, Оценка, Дата, Номер урока) |
|
|
Список литературы
1. Герберт Шилдт «Искусство программирования на С++» Издательство: БХВ-Петербург.: 2005.
2. Герберт Шилдт С++ Базовый курс, Издательство Вильямс, 3-е издание.: 2010 г.
3. Герберт Шилдт С++ Методики программирования Шилдта, Изд.:OZON.RU, 2010 г.