Задание 1 В задании необходимо реализовать интерфейс, позволяющий добавлять новые объекты, удалять все объекты, выполнять включенные в объект операции. Хранить объекты в виде глобального массива указателей фиксированной длины, например, 20. Текущее количество созданных объектов хранить в статической переменной, члене базового класса.
Во всех вариантах должны быть реализованы два класса (базовый и производный) и методы:
• Конструктор
• Инициализация данных Init.
• Ввод данных Read, который должен вводить необходимые данные через отдельное диалоговое окно с контролем правильности ввода.
• Виртуальная функция Вывода информации.
1. Создать класс Complex для работы с комплексными числами, которые представляются парой действительных чисел (а, b), где а - действительная часть, b - мнимая часть, и производный класс ColorComplex (цветное комплексное число).
Должны присутствовать операции:
сложения , (а, b) + (с, d) = (а + b, с + d)
вычитания, (а, b) - (с, d) = (а - b, с - d)
умножения, (а, b) х (с, d) = (ас - bd, аd + bc);
деления, (а, b) / (с, d) = (ас + bd, bc - ad) / (с2 + d2)
сравнение equ, (a, b) равно (с, d), если (а = с) и (b = d)
сопряженное число conj, conj(a, b) = (a, -b).
Метод Display отображает объект в области основного окна в виде маленького кружка с точкой, а под ним - порядковый номер объекта.
Задание 2 Создать шаблон указанного типа. Шаблон как минимум должен содержать:
• необходимые конструкторы и деструктор,
• перегруженный оператор присвоения (operator=),
• перегруженный оператор извлечения из потока (friend operator>>)
• перегруженный оператор вставки в поток (friend operator<<).
Создать шаблон класса «стек». Использовать его для действительных чисел.
Задание 3 В задании необходимо:
• Для обработки файлов использовать потоковую библиотеку <fstream>.
• Данные обрабатывать через контейнерные классы библиотеки STL (<string>, <vector>, <list>).
• Ошибочные ситуации (отсутствие файла, неправильная информация в файле и т.д.) обрабатывать с помощью механизма исключений.
Вид приложения (консольное или Win32) выбирайте на Ваше усмотрение.
Создать функцию подсчета суммы чисел в файле. Функция принимает в качестве параметра имя файла. Числа отделены друг от друга, словами, буквами, символами, знаками табуляции.
Пример: строка в файле может выглядеть следующим образом: «10sdada350re 20sd100%dasd^#^#1sdas15», сумма в ней чисел соответственно равна 496.
Задание 4 Создать контейнер указанного типа. Продемонстрировать возможности контейнера:
• вставку элементов в конец, в начало, в произвольное место,
• индексацию,
• преобразование элементов,
• работу через итераторы,
• потоковый ввод-вывод,
• обобщенных алгоритмов из algorithm.
Вариант Контейнер Содержимое
1 Стек stack string