ПЕРЕГРУЗКА УНАРНЫХ ОПЕРАТОРОВ
Задание №1(3)
Создать класс целых чисел. Определить оператор ++, как функцию-член и -- как дружественную функцию.
Задание №2(3)
Создать класс целых чисел. Определить оператор --, как функцию-член и ++ как дружественную функцию.
Задание №3(3)
Создать класс вещественных(float) чисел. Определить оператор ++, как функцию-член и -- как дружественную функцию.
Задание №4(3)
Создать класс вещественных(float) чисел. Определить оператор --, как функцию-член и ++ как дружественную функцию.
Задание №5(3)
Создать класс вещественных(double) чисел. Определить оператор ++, как функцию-член и -- как дружественную функцию.
Задание №6(3)
Создать класс вещественных(double) чисел. Определить оператор --, как функцию-член и ++ как дружественную функцию.
Задание №7(3)
Создать класс целых чисел (long). Определить оператор ++, как функцию-член и -- как дружественную функцию.
Задание №8(3)
Создать класс целых чисел (long). Определить оператор --, как функцию-член и ++ как дружественную функцию.
Задание №9(3)
Создать класс символов (char). Определить оператор ++, как функцию-член и -- как дружественную функцию.
Задание №10(3)
Создать класс символов (char). Определить оператор --, как функцию-член и ++ как дружественную функцию.
Задание №11(5)
Создать объект типа очередь. Перегрузить оператор ++ как функцию член и -- как дружественную функцию. (Как постфиксными так префиксными). ++ добавляет элемент в очередь (пустой элемент, например int i=0), -- вытаскивает элемент из очереди. Оператор! проверяет очередь на пустоту.
Задание №12(5)
Создать объект типа стек. Перегрузить оператор ++ как функцию член и -- как дружественную функцию. (Как постфиксными так префиксными). ++ добавляет элемент новый в стек, -- удаляет верхушку стека. Оператор! проверяет стек на пустоту.
|
Задание №13(5)
Создать объект - связный двунаправленный список, с перегруженными унарными операциями ++, --, как движение по списку. (Как постфиксными так префиксными).
Задание №14(5)
Создать объект – двунаправленное кольцо, с перегруженными унарными операциями ++, --, как движение по списку. (Как постфиксными так префиксными).
Задание №15(5)
Создать объект - однонаправленный список, в котором определены операции, ++ - добавляет в конец списка, -- удаляет элемент из списка. (Как постфиксными так префиксными). Оператор! проверяет стек на пустоту.
Задание №16(4)
Создать объект стек, перегрузив ++ и --. (Как постфиксными так и префиксными). ++ Добавляет элемент в стек. -- извлекает элемент из стека.
Задание №17(4)
Создать класс - координаты с унарным ++ и --, -. ++ и -- постфиксная и префиксная. - меняет знак у обеих координат. ++ как функция-член, -- как дружественная функция.
Задание №18(4)
Создать объект - очередь с перегруженными операциями ++ как функциями-членами, -- как дружественными функциями. (Как постфиксными так префиксными).
Задание №19(4)
Создать объект - однонаправленный список, в котором определены операции, ++ - добавляет в конец списка, -- удаляет элемент из списка. (Как постфиксными так префиксными).
ПЕРЕГРУЗКА БИНАРНЫХ ОПЕРАТОРОВ
Задание №1(3)
Создать класс целых чисел. Определить оператор +, как функцию-член и - как дружественную функцию.
|
Задание №2(3)
Создать класс целых чисел. Определить оператор -, как функцию-член и + как дружественную функцию.
Задание №3(3)
Создать класс целых чисел (long). Определить оператор -, как функцию-член и + как дружественную функцию. Оператор присвоения, и сравнений.
Задание №4(3)
Создать класс целых чисел (long). Определить оператор +, как функцию-член и - как дружественную функцию.
Задание №5(3)
Создать класс вещественных чисел (double). Определить оператор -, как функцию-член и + как дружественную функцию.
Задание №6(3)
Создать класс вещественных чисел (double). Определить оператор +, как функцию-член и - как дружественную функцию.
Задание №7(3)
Создать класс вещественных чисел.(float) Определить оператор -, как функцию-член и + как дружественную функцию.
Задание №8(4)
Создать класс координат. Определить оператор +, как функцию-член и - как дружественную функцию. Сложить и вычесть координаты с друг другом и с числом. Присвоить координаты, сравнить координаты (==,!=).
Задание №9(4)
Создать объект динамический стек. Перегрузить операции +, +=, -= (с извлечением элемента).
Задание №10(4)
Создать объект очередь с перегруженными +, +=, добавление элемента в очередь и сложение очередей, -- для извлечения из очереди, - для вычитания очередей.
Задание №11(4)
Создать объект стек, с перегруженными операциями +, *, =, +=, и для выталкивания из стека --. () - выдает под-стек.
Задание №12(4)
Создать объект очередь, с перегруженными операциями +, *, =, +=, и для выталкивания из стека --. () - выдает под-очередь.
Задание №13(5)
Создать объект типа стек. Перегрузить оператор + как функцию член и * как дружественную функцию. + складывает элемент в новый стек, * умножает верхушку стека на параметр. Стеки можно присваивать, проверять на равенство == или!=, вводить и выводить в поток, добавлять += элемент в стек.
|
Задание №14(5)
Создать объект типа очередь. Перегрузить оператор + как функцию член и * как дружественную функцию. + добавляет элемент в очередь, * умножает элемент в очереди. Вытаскивает элемент из очереди --. Очереди можно присваивать, проверять на равенство == или!=, вводить и выводить в поток, добавлять += элемент в очередь.
Задание №15(5)
Создать объект - однонаправленный список, в котором определены операции, + - добавляет в конец списка, += добавляет в этот же список в конец списка. - удаляет указанный элемент из списка (номер элемента через параметр), = - присвоение списков, сравнение списков ==,!=, >, <, >=, <=, [] получение элемента списка, ++ - устанавливает указатель на следующий элемент. () выдать подсписок от первого до второго элемента.
Задание №16(5)
Создать объект - однонаправленное кольцо, в котором определены операции, + - добавляет в конец списка, += добавляет в этот же список в конец списка. - удаляет указанный элемент из списка (номер элемента через параметр), = - присвоение списков, сравнение списков ==,!=, >, <, >=, <=, [] получение элемента списка, ++ - устанавливает указатель на следующий элемент. () выдать подсписок от первого до второго элемента.
Задание №17(5)
Создать объект - двунаправленный список, в котором определены операции, + - добавляет в конец списка, += добавляет в этот же список в конец списка. - удаляет указанный элемент из списка (номер элемента через параметр), = - присвоение списков, сравнение списков ==,!=, >, <, >=, <=, [] получение элемента списка, ++ - устанавливает указатель на следующий элемент. () выдать подсписок от первого до второго элемента.
ЖЕСТОКАЯ(МЯСИСТАЯ) ПЕРЕГРУЗКА ОПЕРАТОРОВ
Задание №1(4)
Создать класс вектор, содержащий ссылку на int, размерность вектора и переменную ошибки. Класс имеет конструкторы по умолчанию, конструктор с одним и двумя параметрами, конструктор копирования и деструктор. Определить оператор +, -, *, - как дружественные функции, =, +=, -=, *=,[] - как функции-члены. Определить операторы =, +, -, *, +=, -=, *= с целым числом операторы ++ и --. Определить функцию печати. Сравнить время работы созданного класса и встроенного массива типа int. Перегрузить операторы вывода и ввода в поток.
Задание №2(4)
Создать класс вектор, содержащий ссылку на long, размерность вектора и переменную ошибки. Класс имеет конструкторы по умолчанию, конструктор с одним и двумя параметрами, конструктор копирования и деструктор. Определить оператор +, -, *, - как дружественные функции, =, +=, -=, *=,[] - как функции-члены. Определить операторы =, +, -, *, +=, -=, *= с числом типа long, операторы ++ и --. Определить функцию печати. Сравнить время работы созданного класса и встроенного массива типа long. Перегрузить операторы вывода и ввода в поток.
Задание №3(4)
Создать класс вектор, содержащий ссылку на float, размерность вектора и переменную ошибки. Класс имеет конструкторы по умолчанию, конструктор с одним и двумя параметрами, конструктор копирования и деструктор. Определить оператор +, -, *, - как дружественные функции, =, +=, -=, *=,[] - как функции-члены. Определить операторы =, +, -, *, +=, -=, *= с целым числом операторы ++ и --. Определить операторы =, +, -, *, +=, -=, *= с вещественным числом, операторы ++ и --. Определить функцию печати. Сравнить время работы созданного класса и встроенного массива типа float. Перегрузить операторы вывода и ввода в поток.
Задание №4(4)
Создать объект - двунаправленный список, в котором определены операции, + - добавляет в конец списка, += добавляет в этот же список в конец списка. - удаляет указанный элемент из списка (номер элемента через параметр), = - присвоение списков, сравнение списков ==,!=, >, <, >=, <=, [] получение элемента списка, ++ - устанавливает указатель на следующий элемент, -- устанавливает указатель на предыдущий элемент. () выдать подсписок от первого до второго элемента.
Задание №5(4)
Создать объект - однонаправленный список, в котором определены операции, + - добавляет в конец списка, += добавляет в этот же список в конец списка. - удаляет указанный элемент из списка (номер элемента через параметр), = - присвоение списков, сравнение списков ==,!=, >, <, >=, <=, [] получение элемента списка, ++ - устанавливает указатель на следующий элемент. () выдать подсписок от первого до второго элемента.
Задание №6(4)
Создать объект динамическая очередь. Перегрузив операции +, --, +=, -=, =,!=, ==, >=, <=, >, <, ввода, вывода в поток, получить под-очередь ().
Задание №7(4)
Определить класс список однонаправленный с перегруженными операциями ++ вперед по списку, -- удалить элемент, на котором стоит указатель, += с другим списком и с новым элементом, - унарный удаляет с конца списка, =, ==,!=, >, <, <=, >=. Ввод, вывод в поток. () - выдает подсписок.
Задание №8(4)
Создать класс вектор, содержащий ссылку на double, размерность вектора и переменную ошибки. Класс имеет конструкторы по умолчанию, конструктор с одним и двумя параметрами, конструктор копирования и деструктор. Определить оператор +, -, *, - как дружественные функции, =, +=, -=, *=,[] - как функции-члены. Определить функцию печати. Сравнить время работы созданного класса и встроенного массива типа double. Перегрузить операторы вывода и ввода в поток.
Задание №9(4)
Создать класс вектор, содержащий ссылку на unsigned, размерность вектора и переменную ошибки. Класс имеет конструкторы по умолчанию, конструктор с одним и двумя параметрами, конструктор копирования и деструктор. Определить оператор +, -, *, - как дружественные функции, =, +=, -=, *=,[] - как функции-члены. Определить операторы =, +, -, *, +=, -=, *= с целым без знаковым числом, операторы ++ и --. Определить функцию печати. Сравнить время работы созданного класса и встроенного массива типа unsigned. Перегрузить операторы вывода и ввода в поток.
Задание №10(4)
Создать класс вектор, содержащий ссылку на unsigned long, размерность вектора и переменную ошибки. Класс имеет конструкторы по умолчанию, конструктор с одним и двумя параметрами, конструктор копирования и деструктор. Определить оператор +, -, *, - как дружественные функции, =, +=, -=, *=,[] - как функции-члены. Определить операторы =, +, -, *, +=, -=, *= с типа unsigned long, операторы ++ и --. Определить функцию печати. Сравнить время работы созданного класса и встроенного массива типа unsigned long. Перегрузить операторы вывода и ввода в поток.
Задание №11(4)
Создать класс вектор, содержащий ссылку на unsigned char, размерность вектора и переменную ошибки. Класс имеет конструкторы по умолчанию, конструктор с одним и двумя параметрами, конструктор копирования и деструктор. Определить оператор +, -, *, - как дружественные функции, =, +=, -=, *=,[] - как функции-члены. Определить операторы =, +, -, *, +=, -=, *= с числом типа unsigned char, операторы ++ и --. Определить функцию печати. Сравнить время работы созданного класса и встроенного массива типа unsigned char. Перегрузить операторы вывода и ввода в поток.
Задание №12(4)
Создать класс вектор, содержащий ссылку на long double, размерность вектора и переменную ошибки. Класс имеет конструкторы по умолчанию, конструктор с одним и двумя параметрами, конструктор копирования и деструктор. Определить оператор +, -, *, - как дружественные функции, =, +=, -=, *=,[] - как функции-члены. Определить операторы =, +, -, *, +=, -=, *= с целым числом операторы ++ и --. Определить операторы =, +, -, *, +=, -=, *= с числом типа long double, операторы ++ и --. Определить функцию печати. Сравнить время работы созданного класса и встроенного массива типа long double. Перегрузить операторы вывода и ввода в поток.
Задание №13(4)
Создать объект типа стек. Перегрузить оператор ++, --,!,!=, ==, >, <, >=, <=, +,. Ввод, вывод в поток.
Задание №14(4)
Определить класс - комплексные числа, перегрузив различные операторы, +, -, ++, --, +=, -=, *,./, *=, /=,!,!=, ==, >,<, >=, <=. Ввода, вывода в поток. Сложение и вычитание должно производиться как с элементами данного класса так и со встроенными float.
Задание №15(5)
Создать класс матриц, содержащий ссылку на int, число строк и столбцов и состояние ошибки. Определить конструкторы по умолчанию, конструктор с одним и с двумя параметрами, конструктор копирования, деструктор. Определить операторы =, +, -, +=, -=, *., *= с объектами этого класс, с целым и с вектором, определенном в задании 10. Определить оператор [] так, чтобы обращение [][] к элементам имело смысл, аналогичный встроенному. Перегрузить операторы вывода и ввода в поток.
Задание №16(5)
Создать класс матриц, содержащий ссылку на long, число строк и столбцов и состояние ошибки. Определить конструкторы по умолчанию, конструктор с одним и с двумя параметрами, конструктор копирования, деструктор. Определить операторы =, +, -, +=, -=, *., *= с объектами этого класс, с long и с вектором, определенном в задании 10. Определить оператор [] так, чтобы обращение [][] к элементам имело смысл, аналогичный встроенному. Перегрузить операторы вывода и ввода в поток.
Задание №17(5)
Создать класс матриц, содержащий ссылку на float, число строк и столбцов и состояние ошибки. Определить конструкторы по умолчанию, конструктор с одним и с двумя параметрами, конструктор копирования, деструктор. Определить операторы =, +, -, +=, -=, *., *= с объектами этого класс, с float и с вектором, определенном в задании 10. Определить оператор [] так, чтобы обращение [][] к элементам имело смысл, аналогичный встроенному. Перегрузить операторы вывода и ввода в поток.
Задание №18(5)
Создать класс матриц и вектор, содержащие ссылку на float, число строк и столбцов (для вектора длину) и состояние ошибки. Определить конструкторы по умолчанию, конструктор с одним и с двумя параметрами, конструктор копирования, деструктор. Определить операторы =, +, -, +=, -=, *., *= с объектами этого класс, с float и с вектором. Определить оператор [] так, чтобы обращение [][] к элементам имело смысл, аналогичный встроенному. Перегрузить операторы вывода и ввода в поток. Для вектора должны быть определены кроме перечисленных ++, --, - унарный, [], /=, /. Проверки. Операторы * И *= должны быть определены для умножения вектора и матрицы.
Задание №19(5)
Создать класс матриц и вектор, содержащие ссылку на double, число строк и столбцов (для вектора длину) и состояние ошибки. Определить конструкторы по умолчанию, конструктор с одним и с двумя параметрами, конструктор копирования, деструктор. Определить операторы =, +, -, +=, -=, *., *= с объектами этого класс, с float и с вектором. Определить оператор [] так, чтобы обращение [][] к элементам имело смысл, аналогичный встроенному. Перегрузить операторы вывода и ввода в поток. Для вектора должны быть определены кроме перечисленных ++, --, - унарный, [], /=, /. Проверки. Операторы * И *= должны быть определены для умножения вектора и матрицы.
Задание №20(5)
Создать класс матриц и вектор, содержащие ссылку на long, число строк и столбцов (для вектора длину) и состояние ошибки. Определить конструкторы по умолчанию, конструктор с одним и с двумя параметрами, конструктор копирования, деструктор. Определить операторы =, +, -, +=, -=, *., *= с объектами этого класс, с float и с вектором. Определить оператор [] так, чтобы обращение [][] к элементам имело смысл, аналогичный встроенному. Перегрузить операторы вывода и ввода в поток. Для вектора должны быть определены кроме перечисленных ++, --, - унарный, [], /=, /. Проверки. Операторы * И *= должны быть определены для умножения вектора и матрицы.
Задание №21(5)
Создать класс матриц и вектор, содержащие ссылку на int, число строк и столбцов (для вектора длину) и состояние ошибки. Определить конструкторы по умолчанию, конструктор с одним и с двумя параметрами, конструктор копирования, деструктор. Определить операторы =, +, -, +=, -=, *., *= с объектами этого класс, с float и с вектором. Определить оператор [] так, чтобы обращение [][] к элементам имело смысл, аналогичный встроенному. Перегрузить операторы вывода и ввода в поток. Для вектора должны быть определены кроме перечисленных ++, --, - унарный, [], /=, /. Проверки. Операторы * И *= должны быть определены для умножения вектора и матрицы.
Задание №22(5)
Создать класс матриц, содержащий ссылку на double, число строк и столбцов и состояние ошибки. Определить конструкторы по умолчанию, конструктор с одним и с двумя параметрами, конструктор копирования, деструктор. Определить операторы =, +, -, +=, -=, *., *= с объектами этого класс, с double и с вектором, определенном в задании 10. Определить оператор [] так, чтобы обращение [][] к элементам имело смысл, аналогичный встроенному. Перегрузить операторы вывода и ввода в поток.
Задание №23(5)
Создать класс матриц, содержащий ссылку на unsigned, число строк и столбцов и состояние ошибки. Определить конструкторы по умолчанию, конструктор с одним и с двумя параметрами, конструктор копирования, деструктор. Определить операторы =, +, -, +=, -=, *., *= с объектами этого класс, с unsigned и с вектором, определенном в задании 10. Определить оператор [] так, чтобы обращение [][] к элементам имело смысл, аналогичный встроенному. Перегрузить операторы вывода и ввода в поток.
Задание №24(5)
Создать класс матриц, содержащий ссылку на unsigned long, число строк и столбцов и состояние ошибки. Определить конструкторы по умолчанию, конструктор с одним и с двумя параметрами, конструктор копирования, деструктор. Определить операторы =, +, -, +=, -=, *., *= с объектами этого класс, с unsigned long и с вектором, определенном в задании 10. Определить оператор [] так, чтобы обращение [][] к элементам имело смысл, аналогичный встроенному. Перегрузить операторы вывода и ввода в поток.
Задание №25(5)
Создать класс матриц, содержащий ссылку на unsigned char, число строк и столбцов и состояние ошибки. Определить конструкторы по умолчанию, конструктор с одним и с двумя параметрами, конструктор копирования, деструктор. Определить операторы =, +, -, +=, -=, *., *= с объектами этого класс, с unsigned char и с вектором, определенном в задании 10. Определить оператор [] так, чтобы обращение [][] к элементам имело смысл, аналогичный встроенному. Перегрузить операторы вывода и ввода в поток.
Задание №26(5)
Создать класс матриц, содержащий ссылку на long double, число строк и столбцов и состояние ошибки. Определить конструкторы по умолчанию, конструктор с одним и с двумя параметрами, конструктор копирования, деструктор. Определить операторы =, +, -, +=, -=, *., *= с объектами этого класс, с long double и с вектором, определенном в задании 10. Определить оператор [] так, чтобы обращение [][] к элементам имело смысл, аналогичный встроенному. Перегрузить операторы вывода и ввода в поток.
Задание №27(5)
Создать класс матриц и вектор, содержащие ссылку на float, число строк и столбцов (для вектора длину) и состояние ошибки. Определить конструкторы по умолчанию, конструктор с одним и с двумя параметрами, конструктор копирования, деструктор. Определить операторы =, +, -, +=, -=, *., *= с объектами этого класс, с float и с вектором. Определить оператор [] так, чтобы обращение [][] к элементам имело смысл, аналогичный встроенному. Перегрузить операторы вывода и ввода в поток. Для вектора должны быть определены кроме перечисленных ++, --, - унарный, [], /=, /. Проверки. Операторы * И *= должны быть определены для умножения вектора и матрицы.
Задание №28(5)
Создать класс матриц и вектор, содержащие ссылку на double, число строк и столбцов (для вектора длину) и состояние ошибки. Определить конструкторы по умолчанию, конструктор с одним и с двумя параметрами, конструктор копирования, деструктор. Определить операторы =, +, -, +=, -=, *., *= с объектами этого класс, с float и с вектором. Определить оператор [] так, чтобы обращение [][] к элементам имело смысл, аналогичный встроенному. Перегрузить операторы вывода и ввода в поток. Для вектора должны быть определены кроме перечисленных ++, --, - унарный, [], /=, /. Проверки. Операторы * И *= должны быть определены для умножения вектора и матрицы.