c/c++:设计一个分数类Fraction。该类的数据成员包括分子fz和分母fm;类中还包括如下成员函数: (1)构造函数,用于初始化分子和分母。 (2)成员函数print,将分数以 "fz/fm" 的形式输出。 (3)成员函数Reduction,用于对分数的分子和分母进行约分。 再编写主函数对该类进行测试
时间: 2024-03-27 20:41:33 浏览: 172
好的,请看下面的C++代码实现:
```c++
#include <iostream>
using namespace std;
// 求两个数的最大公约数
int gcd(int a, int b) {
if (b == 0)
return a;
return gcd(b, a % b);
}
class Fraction {
public:
Fraction(int fz, int fm) {
this->fz = fz;
this->fm = fm;
}
void print() {
cout << fz << "/" << fm << endl;
}
void Reduction() {
int d = gcd(fz, fm);
fz /= d;
fm /= d;
}
private:
int fz;
int fm;
};
int main() {
Fraction f(12, 16);
f.print();
f.Reduction();
f.print();
return 0;
}
```
首先在类中定义了分子fz和分母fm,以及构造函数、print函数和约分函数Reduction。在主函数中,我们创建了一个分数对象f,分子为12,分母为16,然后分别调用了print函数和Reduction函数,最后再次调用print函数,输出约分后的分数。
运行结果如下:
```
12/16
3/4
```
阅读全文
相关推荐

















