Тема: Создание класса. Перегрузка операций.
Задание.
- Разработайте АТД согласно варианту задания.
- Реализуйте АТД варианта, используя пользовательский тип – класс, в отдельном модуле.
Включите в класс методы:
- конструктор по умолчанию;
- конструктор с параметрами;
- копирующий конструктор и деструктор, если используется динамическая память для представления данных.
Перегрузите операции:
- операцию >> для вывода экземпляров класса в поток ostream.
- Выполните перегрузку дополнительных операций, указанных в задании варианта.
- Разработайте программу, демонстрирующую применение класса.
ВАРИАНТЫ
Номер варианта | Класс варианта | Операции перегружаемые |
Линейный многочлен N – ой степени (узел содержит коэффициент, степень) | + Сложить два многочлена = Присвоить | |
Линейный многочлен N – ой степени (узел содержит коэффициент, степень) | - Дифференцировать многочлен < Сравнить два многочлена | |
Линейный многочлен N – ой степени (узел содержит коэффициент, степень) | = = Равенство двух многочленов >> копирование многочлена | |
Массив одномерный динамический целых чисел | [] индексация элемента + Слияние двух массивов | |
Массив одномерный динамический вещественных чисел | - Удаление из одного массива элементов другого = = Равенство двух массивов | |
Массив двухмерный n*n целых чисел | * умножение матрицы на числовую константу (константа может быть и справа и слева) +сложение двух матриц | |
Множество целых чисел | || Объединение двух множеств = = Равенство двух множеств | |
Множество символов | && Пересечение двух множеств > Cравнение двух множеств | |
Множество целых чисел | - Дополнение одного множества до другого < Сравнение двух множеств | |
Очередь | >>Добавить элемент в очередь [] доступ к первому элементу очереди | |
Линейный список | [] доступ к элементу в заданной позиции + Добавить элемент в конец списка | |
Вектор задан координатами своих вершин | * Перпендикулярны ли два вектора + Сумма двух векторов | |
Дата задана тремя параметрами: день, номер месяца, год | - Разность между двумя датами + Получение новой даты, отстоящей от исходной на заданное количество дней | |
Строка, завершающаяся терминальным нулем | + Конкатенация строк [] Вставить новый символ в указанную позицию | |
Линейный список Стек | >> Включить элемент в стек - Исключить элемент из стека = Присваивание |