Создать класс вещественных чисел. Определить оператор ++, как функцию-член и -- как дружественную функцию.
Задание 2. Бинарная операция
Создать класс целых чисел. Определить оператор -, как функцию-член и + как дружественную функцию.
Задание 3
Создать класс вектор, содержащий ссылку на float, размерность вектора и переменную ошибки. Класс имеет конструкторы по умолчанию, конструктор с одним и двумя параметрами, конструктор копирования и деструктор. Определить оператор +, -, *, - как дружественные функции, =, +=, -=, *=,[] - как функции-члены. Определить операторы =, +, -, *, +=, -=, *= с целым числом операторы ++ и --. Определить операторы =, +, -, *, +=, -=, *= с вещественным числом, операторы ++ и --. Определить функцию печати. Сравнить время работы созданного класса и встроенного массива типа float. Перегрузить операторы вывода и ввода в поток.
Задание 4
Создать класс матриц, содержащий ссылку на float, число строк и столбцов и состояние ошибки. Определить конструкторы по умолчанию, конструктор с одним и с двумя параметрами, конструктор копирования, деструктор. Определить операторы =, +, -, +=, -=, *., *= с объектами этого класс, с float и с вектором, определенном в задании 10. Определить оператор [] так, чтобы обращение [][] к элементам имело смысл, аналогичный встроенному. Перегрузить операторы вывода и ввода в поток.
|
|
Вариант 4. Перегрузка операторов
Задание 1. Унарная операция
Создать объект типа очередь. Перегрузить оператор ++ как функцию член и -- как дружественную функцию. (Как постфиксными так префиксными). ++ добавляет элемент в очередь (пустой элемент, например int i=0), -- вытаскивает элемент из очереди. Оператор! проверяет очередь на пустоту.
Задание 2. Бинарная операция
Создать объект типа стек. Перегрузить оператор + как функцию член и * как дружественную функцию. + складывает элемент в новый стек, * умножает верхушку стека на параметр. Стеки можно присваивать, проверять на равенство == или!=, вводить и выводить в поток, добавлять += элемент в стек.
Задание 3
Создать объект - двунаправленный список, в котором определены операции, + - добавляет в конец списка, += добавляет в этот же список в конец списка. - удаляет указанный элемент из списка (номер элемента через параметр), = - присвоение списков, сравнение списков ==,!=, >, <, >=, <=, [] получение элемента списка, ++ - устанавливает указатель на следующий элемент, -- устанавливает указатель на предыдущий элемент. () выдать подсписок от первого до второго элемента.