文章标题 原创 翻译 转载 文章内容 ``` class Rational { public: Rational(int a = 0, int b = 1) : a_(a), b_(b) { } Rational(const Rational &rhs) : a_(rhs.a()), b_(rhs.b()) { } const Rational operator=(const Rational& rhs) { return Rational(rhs.a_, rhs.b_); } double val() const { return a_*1.0 / b_; } int a() const { return a_; } int b() const { return b_; } private: int a_; int b_; }; const Rational operator+(const Rational &lhs, const Rational &rhs) { return Rational(lhs.a() + rhs.a(), lhs.b() + rhs.b()); } const Rational operator-(const Rational &lhs, const Rational &rhs) { return Rational(lhs.a() - rhs.a(), lhs.b() - rhs.b()); } const Rational operator*(const Rational &lhs, const Rational &rhs) { return Rational(lhs.a() * rhs.a(), lhs.b() * rhs.b()); } const Rational operator/(const Rational &lhs, const Rational &rhs) { return Rational(lhs.a() / rhs.a(), lhs.b() / rhs.b()); } bool operator==(const Rational &lhs, const Rational &rhs) { return lhs.val() == rhs.val(); } bool operator!=(const Rational &lhs, const Rational &rhs) { return !(lhs == rhs); } ``` 文章类别 Python Mobile Android Java Shell Life Database Bug Windows IOS Tools Boost Node.js Mac Product Tips C/C++ Golang Javascript React Qt MQ MongoDB Design Web Linux LLM ChatGPT RAG AI 提交