- •Задание № 2 Абстрактный тип данных
- •1) Список строк (string list)
- •2) Стек строк (string stack)
- •3) Множество строк (string set)
- •4) Вещественная матрица (matrix)
- •5) Кусочно-постоянная функция (step function)
- •6) Многочлен (polynomial)
- •7) Граф (graph)
- •8) Дата и время (datetime)
- •Задание № 3 Реализация абстрактных классов
Задание № 3 Реализация абстрактных классов
Реализовать некоторый абстрактный класс, удовлетворяющий следующим обязательным требованиям:
- класс неплоский,
- класс содержит явно описанные
конструктор копирования,
деструктор,
перегруженную операцию присваивания,
статические члены класса (по существу),
константные методы (по существу),
перегруженную операцию вывода объекта в стандартный поток вывода,
перегруженную операцию [] или () (если их использование не противоречит структуре выбранного класса).
В качестве вариантов классов можно рассматривать следующий список названий классов:
Счет в банке для юридических и физических лиц.
Печать информации о юридическом и физическом лице.
Студенты: подсчет их общего количества.
Массив, хранящий разные типы элементов.
Умножение двух матриц, умножение матрицы на число.
Заказ разной мебели (отечественной, импортной).
Создание объекта класса Магазин, членами которого являются объекты классов товар, сотрудник и т.д.
Видеомагнитофон, DVD-плеер, и то и другое вместе.
Сравнение площадей прямоугольников.
Товары в магазине: алкогольные напитки, безалкогольные напитки, безалкогольное пиво.
Дата: число, месяц, год.
Пассажирский транспорт.
Книга в библиотеке и ее внесение «в каталог».
Оформление справки об аварии.
Получение развернутого диагностического сообщения.
Сравнение строк, их сложение и вычитание.
Сложение комплексных чисел, сложение комплексного числа и просто числа, числа и комплексного числа.
Алфавит.
Доставка письма, газеты, рекламных буклетов.
Класс и ученики в нем.
Растения, их деление и поливка этих растений.
Одежда с точки зрения стирки: синтетика, х/б, цветная/нецветная + сам процесс стирки.
Спонсор для животного в зоопарке.
Определение остатка на счете.
или выбрать любой другой по желанию студентов, удовлетворяющий вышеизложенным требованиям. Внимание! Необходимо обосновать, почему некоторая сущность в выбранной задаче должна быть смоделирована абстрактным классом. Например: для любой фигуры определена площадь, но для круга она считается по одной формуле, для квадрата – по другой. Следовательно, мы можем реализовать метод подсчета площади только в классах Circle, Rectangle, но не в классе Figure.
