Rational.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. #pragma once
  2. #include <iostream>
  3. using namespace std;
  4. class Rational {
  5. public:
  6. int Chisl;
  7. int Znam;
  8. bool sign=0;
  9. Rational();
  10. Rational(int _x, int _y);
  11. Rational(int _x);
  12. Rational(double _x);
  13. void socr();
  14. //ñ Rational
  15. const Rational& operator += (const Rational& r);
  16. const Rational& operator -= (const Rational& r);
  17. const Rational& operator *= (const Rational& r);
  18. const Rational& operator /= (const Rational& r);
  19. //îïåðàöèè c int
  20. const Rational& operator *= (const int& r);
  21. const Rational& operator += (const int& r);
  22. const Rational& operator -= (const int& r);
  23. const Rational& operator /= (const int& r);
  24. const Rational& operator * (const int& i);
  25. const Rational& operator + (const int& i);
  26. const Rational& operator - (const int& i);
  27. const Rational& operator / (const int& i);
  28. //ñðàâíåíèå ìåæäó rational
  29. const bool& operator > (const Rational& r);
  30. const bool& operator < (const Rational& r);
  31. const bool& operator >= (const Rational& r);
  32. const bool& operator <= (const Rational& r);
  33. const bool& operator == (const Rational& r);
  34. const bool& operator != (const Rational& r);
  35. //îïåðàöèè ñ Rational
  36. const Rational& operator + (const Rational& r1);
  37. const Rational& operator - (const Rational& r1);
  38. const Rational& operator * (const Rational& r1);
  39. const Rational& operator / (const Rational& r1);
  40. //êîðåíü
  41. const double root();
  42. //ïåðåâîä â double
  43. const double to_double();
  44. };
  45. istream& operator>>(istream& is, Rational& R);
  46. ostream& operator<<(ostream& os, Rational& R);