Перейти к основному содержимому

Классы. Перегрузка конструкторов и операций

Алиас: Дроби.

Задание

Лабораторная работа состоит из двух частей:

  1. Часть 1:

    1. Создать класс "Дроби" для выполнения арифметических операций над обыкновенными дробями. Внутреннее представление дробей (состав полей класса) должно обеспечивать эффективное выполнение операций над дробями и может отличаться от представления дробей на экране монитора, которое должно быть удобным для пользователя. Например, внутри объекта класса "Дроби" может храниться неправильная дробь.

    2. Разработать конструктор по умолчанию и конструктор, который преобразует строку, содержащую внешнее представление дроби, в объект класса "Дроби".

    3. Перегрузить операции потокового ввода дроби с клавиатуры и вывода ее на экран монитора. При вводе выполнять сокращение дроби.

    4. Создать многофайловый проект и отладить программу, которая создает один объект класса "Дроби" и выводит значения его полей на экран (эта программа состоит из 5 первых операторов программы, приведённой в Приложении 1).

      предупреждение

      Класс "Дроби" необходимо упаковать в самостоятельную статическую библиотеку.

  2. Часть 2:

    1. Дополнить класс функциями-членами класса и функциями-друзьями класса, которые необходимы для выполнения программы из Приложения 1.
    2. Выполнить программу из Приложения 1 и сравнить результаты с тестовым примером.
осторожно

В работе запрещено использование типа string для обработки ввода с клавиатуры. Необходимо использовать char*.

предупреждение

Дополнительные пояснения о реализации класса, его конструкторов, перегрузок операций, функций-членов и функций-друзей класса представлены в указаниях по выполнению работы.

Режимы выполнения программы

Для интерактивного режима достаточно воспользоваться кодом из функции main() из Приложения 1. Для демо вместо std::cin самостоятельно задайте дробь для демонстрации.

Методический материал

  1. Указания по выполнению работы
  2. Контрольные вопросы