**Цель работы:** - Изучить понятие перегрузки - Приобрести практические навыки перегрузки отдельных операторов **Задание:** 1. Модифицируйте абстрактные типы данных, реализованные по заданию лабораторной работы №2, перегрузив минимум 3 ключевых оператора. 2. Обязательно перегрузите оператор вывода на консоль и один и операторов сравнения у АТД. 3. Используйте эти операторы в классе-контейнере, в первую очереди в функции сортировки и вывода элементов АТД. 4. Проверьте работоспособность АТД на тестовом наборе данных. **Контрольные вопросы:** 1. Назовите алгоритм соответствия для каждого аргумента. 2. С какой целью применяется перегрузка операторов? 3. Для каких операторов нельзя использовать перегрузку? 4. В каком случае используется функция-член, имеющая пустой список аргументов? 5. Что произойдет, если перегруженная операция $[$ $]$ будет иметь тип возвращаемого значения **int**, а не **int&**?