对有理数类Fraction,重载加减运算符,实现有理数的相应运算。
时间: 2024-05-05 12:17:23 浏览: 92
有理数类Fraction
以下是有理数类Fraction的代码,重载了加减运算符:
```c++
class Fraction {
private:
int numerator; // 分子
int denominator; // 分母
public:
Fraction(int num, int den) {
numerator = num;
denominator = den;
}
// 重载加法运算符
Fraction operator+(Fraction f) {
int num = numerator * f.denominator + f.numerator * denominator;
int den = denominator * f.denominator;
return Fraction(num, den);
}
// 重载减法运算符
Fraction operator-(Fraction f) {
int num = numerator * f.denominator - f.numerator * denominator;
int den = denominator * f.denominator;
return Fraction(num, den);
}
void print() {
cout << numerator << "/" << denominator << endl;
}
};
```
在重载加减运算符时,需要先计算出结果的分子和分母,然后返回一个新的Fraction对象。此外,需要注意两个Fraction对象的分母可能不同,需要先通分再进行运算。
阅读全文