#pragma once #include using namespace std; class Rational { public: int Chisl; int Znam; bool sign=0; Rational(); Rational(int _x, int _y); Rational(int _x); Rational(double _x); void socr(); //с Rational const Rational& operator += (const Rational& r); const Rational& operator -= (const Rational& r); const Rational& operator *= (const Rational& r); const Rational& operator /= (const Rational& r); //операции c int const Rational& operator *= (const int& r); const Rational& operator += (const int& r); const Rational& operator -= (const int& r); const Rational& operator /= (const int& r); const Rational& operator * (const int& i); const Rational& operator + (const int& i); const Rational& operator - (const int& i); const Rational& operator / (const int& i); //сравнение между rational const bool& operator > (const Rational& r); const bool& operator < (const Rational& r); const bool& operator >= (const Rational& r); const bool& operator <= (const Rational& r); const bool& operator == (const Rational& r); const bool& operator != (const Rational& r); //операции с Rational const Rational& operator + (const Rational& r1); const Rational& operator - (const Rational& r1); const Rational& operator * (const Rational& r1); const Rational& operator / (const Rational& r1); //корень const double root(); //перевод в double const double to_double(); }; istream& operator>>(istream& is, Rational& R); ostream& operator<<(ostream& os, Rational& R);