Спроектировать и реализовать класс Fraction
для
работы с обыкновенными дробями.
В классе должны быть определены различные конструкторы (по умолчанию, с одним аргументом, с двумя аргументами, конструктор копирования).
Должны быть перегружены следующие операторы: +
, -
,
*
, /
, ==
, !=
, <
,
>
, <=
, >=
, <<
(вывод в поток типа ostream
).
Для защиты лабораторной работы необходимо представить:
Разработанный класс Fraction
должен допускать такое использование:
/*...*/ int main() { Fraction a; Fraction b(1); Fraction c(1,1); if (b == c) cout << "As expected\n"; else cout << "Something wrong\n"; b = Fraction(1,2); cout << "a+b = " << a+b << endl << "a-b = " << a-b << endl << "b*c = " << b*c << endl; a = b = b*c; if (a != b) cout << "Something wrong...\n"; cout << "As expected\n"; return 0; }