实现结果如下图所示:

代码如下所示:
#include <iostream>
using namespace std;
class Rational {
public:
Rational operator+(Rational rhs);
Rational operator-(Rational rhs);
Rational operator*(Rational rhs);
Rational operator/(Rational rhs);
Rational(int num, int denom);
private:
void normalize(); //负责对分数做化简工作
int numerator;//分子
int denominator;//分母
friend std::ostream& operator<<(ostream& os, Rational f);
};
Rational::Rational(int num, int denom) {
numerator = num;
denominator = denom;
normalize();
}
//只允许分子为负数,若分母为负数则把负数挪到分子部分
//利用欧几里得算法将分数简化
void Rational::normalize() {
if (denominator < 0) {
numerator = -numerator;
denominator = -denominator;
}
//欧几里得算法
int a = abs(numerator);
int b = ab