Спроектировать и реализовать класс 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;
}