Классы. Перегрузка конструкторов и операций
Алиас: Дроби.
Задание
Лабораторная работа состоит из двух частей:
-
Часть 1:
-
Создать класс "Дроби" для выполнения арифметических операций над обыкновенными дробями. Внутреннее представление дробей (состав полей класса) должно обеспечивать эффективное выполнение операций над дробями и может отличаться от представления дробей на экране монитора, которое должно быть удобным для пользователя. Например, внутри объекта класса "Дроби" может храниться неправильная дробь.
-
Разработать конструктор по умолчанию и конструктор, который преобразует строку, содержащую внешнее представление дроби, в объект класса "Дроби".
-
Перегрузить операции потокового ввода дроби с клавиатуры и вывода ее на экран монитора. При вводе выполнять сокращение дроби.
-
Создать многофайловый проект и отладить программу, которая создает один объект класса "Дроби" и выводит значения его полей на экран (эта программа состоит из 5 первых операторов программы, приведённой в Приложении 1).
предупреждениеКласс "Дроби" необходимо упаковать в самостоятельную статическую библиотеку.
-
-
Часть 2:
- Дополнить класс функциями-членами класса и функциями-друзьями класса, которые необходимы для выполнения программы из Приложения 1.
- Выполнить программу из Приложения 1 и сравнить результаты с тестовым примером.
В работе запрещено использование типа string для обработки ввода с клавиатуры. Необходимо использовать char*.
Дополнительные пояснения о реализации класса, его конструкторов, перегрузок операций, функций-членов и функций-друзей класса представлены в указаниях по выполнению работы.
Режимы выполнения программы
Для инт ерактивного режима достаточно воспользоваться кодом из функции main() из Приложения 1. Для демо вместо std::cin самостоятельно задайте дробь для демонстрации.