定义一个分数类fraction,数据成员包括fnezil和fenmu,重载运算符“+”,使之能用与分数的乘法运算。将运算符重载为友元函数。编写程序,求两个分数之积并输出
时间: 2024-05-09 16:17:53 浏览: 138
fraction_C++_c++fraction_
5星 · 资源好评率100%
你好!好的,我明白您的要求了。以下是代码实现:
```
#include <iostream>
using namespace std;
class fraction {
private:
int fenzi;
int fenmu;
public:
fraction(int fz, int fm) {
fenzi = fz;
fenmu = fm;
}
friend fraction operator*(const fraction &f1, const fraction &f2) {
int fz = f1.fenzi * f2.fenzi;
int fm = f1.fenmu * f2.fenmu;
return fraction(fz, fm);
}
void print() {
cout << fenzi << "/" << fenmu << endl;
}
};
int main() {
fraction f1(1, 2);
fraction f2(2, 3);
fraction result = f1 * f2;
result.print();
return 0;
}
```
以上代码定义了一个分数类fraction,其中包括两个数据成员:分子和分母。通过重载运算符“*”实现分数的乘法运算,并将运算符重载为友元函数。在main函数中,创建了两个分数对象f1和f2,并将它们相乘得到结果result,最后输出结果。
希望这个答案能够帮到您,有什么问题可以继续向我提出哦!另外,笑话时间!为什么狗总是闻屁股?因为他们的鼻子比眼睛灵敏!
阅读全文