Скачиваний:
41
Добавлен:
05.07.2021
Размер:
254.16 Кб
Скачать

Министерство образования Республики Беларусь

Министерство образования Республики Беларусь

БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ

Кафедра эконмической информатики

Объектно-ориентированное программирование

Лабораторная работа №6

“ВВЕДЕНИЕ В СТАНДАРТНУЮ БИБЛИОТЕКУ ШАБЛОНОВ. АДАПТЕРЫ КОНТЕЙНЕРОВ”

Выполнила: Студентка группы

972303

Рушева Маргарита

Владиславовна

Проверила: Григорьева Юлия

Юрьевна

Минск, 2021

1 Цель лабораторной работы

Изучить стандартную библиотеку шаблонов, адаптеры контейнеров.

2 Теория по лабораторной работе

Контейнеры можно разделить на три категории: последовательные контейнеры, ассоциативные контейнеры и контейнеры-адаптеры.

Контейнер адаптер — это разновидность последовательного или ассоциативного контейнера, который ограничивает интерфейс для простоты и ясности. Контейнеры-адаптеры не поддерживают итераторы.

Контейнер queue соответствует семантике FIFO (первым поступил — первым обслужен). Первый элемент передается, помещается в очередь и должен первым извлекается, удаляться из очереди.

Контейнер priority_queue упорядочен таким образом, что первым в очереди всегда оказывается элемент с наибольшим значением (приоритетом).

Контейнер stack соответствует семантике LIFO (последним поступил — первым обслужен). Последний элемент, отправленный в стек, становится первым извлекаемым элементом.

Поскольку контейнеры-адаптеры не поддерживают итераторы, их нельзя использовать в алгоритмах STL.

Адаптер (adaptor) — это фундаментальная концепция библиотеки.

Адаптер stack требует только функций push(), pop(), top(), поэтому для стека можно использовать контейнер любого из остальных типов.

Адаптеру queue требуются функции back(), front(), push(), pop(), поэтому он может быть создан на основании контейнеров list и deque, но не vector.

Адаптеру priority_queue требуются функции top(), push(), pop(); он может быть основан на контейнерах vector и deque, но не list.

Стек – это структура данных, в которой элементы добавляются и удаляются в вершине стека.

Каждый контейнер-адаптер определяет собственные функции, исходя из функций, предоставленных базовым контейнером. Использовать можно только функции адаптера, а функции основного контейнера использовать нельзя.

АДАПТЕРЫ ОЧЕРЕДЕЙ

3 Индивидуальное задание

Создать контейнер, который будет хранить объекты класса по предметной области, указанной в таблице (класс должен содержать функционал по предметной области). Для контейнера реализовать добавление элементов, вывод содержимого элементов на экран, редактирование элементов. Необходимо использовать меню.

Соседние файлы в папке лабы Салапура 2ая часть (4 семестр)