在C++中,如何表示分数
时间: 2024-10-22 13:16:37 浏览: 11
C++ 分数运算 源码
在C++中,可以使用结构体或类来表示分数。一种常见的做法是创建一个包含两个数据成员的结构:分子(numerator)和分母(denominator),通常假设分母不为零。为了保持精度,并避免整数除法得到的结果丢失信息,可以使用double类型而不是int。以下是一个简单的分数类的例子:
```cpp
#include <iostream>
class Fraction {
private:
double numerator;
double denominator;
public:
// 构造函数,初始化分数
Fraction(double n = 0, double d = 1) : numerator(n), denominator(d) {}
// 加法运算符重载
Fraction operator+(const Fraction& other) const {
return Fraction(numerator * other.denominator + other.numerator * denominator,
denominator * other.denominator);
}
// 其他必要的操作,如减法、乘法、除法和比较可以根据需求添加
// 打印分数
void print() const {
std::cout << numerator << "/" << denominator << " ";
}
};
int main() {
Fraction f1(4, 5);
Fraction f2(3, 7);
f1.print(); // 输出:4/5
f1 += f2; // 加法
f1.print(); // 输出:(4*7+3*5)/(5*7)
return 0;
}
```
在这个例子中,`Fraction` 类包含了基本的操作和打印功能。你可以根据需要扩展这个类,比如处理分母为零的情况或者提供更复杂的数学运算。
阅读全文