Hayır bide şurayı düzelt şunu yap öyle ver diyorum onuda ekleyip yapıp veriyor
#include <iostream>
class Rational {
public:
// Constructor
Rational(int numerator = 0, int denominator = 1)
: numerator_(numerator), denominator_(denominator) {}
// Accessor functions
int numerator() const { return numerator_; }
int denominator() const { return denominator_; }
// Member operators
Rational operator-() const {
return Rational(-numerator_, denominator_);
}
Rational& operator++() {
numerator_ += denominator_;
return *this;
}
Rational operator++(int) {
Rational result = *this;
++*this;
return result;
}
private:
int numerator_;
int denominator_;
};
// Non-member operators
Rational operator+(const Rational& lhs, const Rational& rhs) {
return Rational(
lhs.numerator() * rhs.denominator() + rhs.numerator() * lhs.denominator(),
lhs.denominator() * rhs.denominator());
}
Rational operator-(const Rational& lhs, const Rational& rhs) {
return lhs + (-rhs);
}
Rational operator*(const Rational& lhs, const Rational& rhs) {
return Rational(lhs.numerator() * rhs.numerator(),
lhs.denominator() * rhs.denominator());
}
Rational operator/(const Rational& lhs, const Rational& rhs) {
return Rational(lhs.numerator() * rhs.denominator(),
lhs.denominator() * rhs.numerator());
}
bool operator==(const Rational& lhs, const Rational& rhs) {
return lhs.numerator() == rhs.numerator() &&
lhs.denominator() == rhs.denominator();
}
bool operator!=(const Rational& lhs, const Rational& rhs) {
return !(lhs == rhs);
}
int main() {
Rational a(2, 3);
Rational b(4, 5);
Rational c = a + b;
Rational d = a - b;
Rational e = a * b;
Rational f = a / b;
std::cout << a.numerator() << '/' << a.denominator() << '\n';
std::cout << b.numerator() << '/' << b.denominator() << '\n';
std::cout << c.numerator() << '/' << c.denominator() << '\n';
std::cout << d.numerator() << '/' << d.denominator() << '\n';
std::cout << e.numerator() << '/' << e.denominator() << '\n';
std::cout << f.numerator() << '/' << f.denominator() << '\n';
}