Перевантаження операторів
Завдання 1. Додайте в клас Distance з лекції перевантажену операцію, за допомогою якої можна обчислити різницю двох відстаней за допомогою виразу dist3 = distl-dist2; Передбачте неможливість віднімання від меншого значення більшого.
2. Модифікуйте клас time з попередньої лабораторної роботи так, щоб замість методу add_time() можна було використовувати операцію + для додавання двох значень часу. Напишіть програму для перевірки методів класу.
3. Створіть клас Int власних цілих чисел. Перезавантажте чотири цілочисельних арифметичних операції (+,-,* і /) так, щоб їх можна було використовувати для операцій з об’єктами класу Int. Якщо результат будь-якої з операцій виходить за межі int, то операція повинна послати повідомлення про помилку і завершити програму. Такі типи даних корисні там, де помилки можуть бути викликані арифметичним переповненням.
4. Поповніть клас time, із завдання 2, перевантаженими операціями збільшення (++) і зменшення (--), які працюють в обох, префіксній і постфіксній, формах запису і повертають значення. Доповніть функцію main().
5. Модифікуйте клас fraction в чотирьохфункціональному дробовому калькуляторі так, щоб він використовував перевантажені операції додавання, віднімання, множення і ділення. Також перевантажите операції порівняння == і !==.
6. Модифікуйте клас money з попередньої лабораторної роботи, включивши арифметичні операції, виконані за допомогою перевантажених операцій. 11.
7. Доповніть клас safearray з лекції так, щоб користувач міг визначати і верхню, і нижню межі масиву (наприклад, індекси, що починаються з 100 і закінчуються 200). Перевантажена операція доступу до членів масиву, яка перевіряє індекси кожен раз, коли до масиву потрібен доступ, для перевірки того, що ми не вийшли за межі масиву. Вам знадобиться конструктор з двома аргументами, який визначає верхню і нижню межі.
8. Створіть клас Polar, який можна використовувати для зберігання полярних координат (радіуса і кута). Перевантажте операцію + для виконання складання для об’єктів класу Polar. Додавання двох об’єктів виконується шляхом додавання відповідних координат у прямокутній декартовій системі координат. Результат буде координатами нової точки. Таким чином, вам потрібно буде перетворити полярні координати до прямокутної, скласти їх, а потім назад перетворити прямокутні координати у полярні.
9. Напишіть програму, що об’єднує в собі класи money з і sterling. Напишіть операцію перетворення для перетворення між класами money і sterling, припускаючи, що один фунт (£1.0.0) дорівнює п’ятдесят доларів ($ 50.00).