diff options
1 files changed, 47 insertions, 0 deletions
| -rw-r--r-- | Year 1/Object-oriented Programming/05-Practice-29.03.2022/ex2-Rational.cpp | 47 |
diff --git a/Year 1/Object-oriented Programming/05-Practice-29.03.2022/ex2-Rational.cpp b/Year 1/Object-oriented Programming/05-Practice-29.03.2022/ex2-Rational.cpp new file mode 100644 index 0000000..05794b5 --- /dev/null +++ b/Year 1/Object-oriented Programming/05-Practice-29.03.2022/ex2-Rational.cpp @@ -0,0 +1,47 @@ +#include "ex2-Rational.h" + +Rational::Rational(int numerator, int denumerator) { + set_numerator(numerator); + set_denumerator(denumerator); +} + +int Rational::get_numerator() const { + return numerator; +} +void Rational::set_numerator(int numerator) { + this->numerator = numerator; +} + +int Rational::get_denumerator() const { + return denumerator; +} +void Rational::set_denumerator(int denumerator) { + this->denumerator = denumerator; +} + +void canonize() { + +} + +Rational Rational::operator+(const Rational& other) { + return Rational(numerator * other.denumerator + other.numerator * denumerator, denumerator * other.denumerator); +} + +//x a = x*b + y*a +//y b y*b + +Rational Rational::operator-(const Rational& other) { + return Rational(numerator * other.denumerator - other.numerator * denumerator, denumerator * other.denumerator); +} + +Rational Rational::operator*(const Rational& other) { + return Rational(numerator * other.numerator, denumerator * other.denumerator); +} + +Rational Rational::operator/(const Rational& other) { + return Rational(numerator / other.numerator, denumerator / other.denumerator); +} + +int Rational::numcmp(const Rational& arg) const { + +} |
