用c++ 建立一个分数类fraction,用于表示最简分数
时间: 2023-07-04 13:07:44 浏览: 245
好的,下面是一个简单的 C++ 分数类 `Fraction` 的实现,可以表示最简分数:
```c++
#include <iostream>
using namespace std;
class Fraction {
public:
int numerator; // 分子
int denominator; // 分母
Fraction(int n, int d) {
numerator = n;
denominator = d;
simplify(); // 最简化
}
void simplify() {
int gcd = getGCD(numerator, denominator); // 获取最大公约数
numerator /= gcd;
denominator /= gcd;
}
int getGCD(int x, int y) {
if (x % y == 0) {
return y;
}
return getGCD(y, x % y);
}
void print() {
cout << numerator << "/" << denominator << endl;
}
};
int main() {
Fraction f(4, 8);
f.print(); // 输出 1/2
return 0;
}
```
在上面的代码中,我们定义了一个 `Fraction` 类,其中包含了两个成员变量 `numerator` 和 `denominator`,分别表示分数的分子和分母。并且在构造函数中,我们调用了 `simplify()` 方法,将分数进行最简化。
`simplify()` 方法会调用 `getGCD()` 方法,用于获取分子和分母的最大公约数,然后将分子和分母都除以最大公约数即可将分数最简化。
最后在 `main()` 函数中,我们创建了一个分数对象 `f`,并且输出了最简化后的结果。
阅读全文