本资源是一份C++编程实现的分数计算器类(`fenshu`)代码。它提供了一种方法来执行基本的分数运算,包括加法、减法、乘法和除法。以下是对这些功能的详细解释:
1. **类定义**:
- `fenshu` 类包含私有成员变量 `int fenzi` 和 `int fenmu`,分别代表分子和分母。这两个变量用于存储分数值。
- 类中还定义了构造函数 `fenshu(int n = 0, int m = 0)`,接受两个可选参数初始化分子 `n` 和分母 `m`。
2. **运算符重载**:
- `+` 运算符:当两个分数相加时,计算新的分子和分母,确保结果是一个简化后的分数。这里通过递归调用 `get()` 函数实现求最大公约数(GCD),然后将分子和分母除以 GCD 来简化分数。
- `-` 运算符:与 `+` 类似,计算两个分数的差,同样简化结果。
- `*` 运算符:两个分数相乘,分子和分母各自相乘,然后简化。
- `/` 运算符:两个分数相除,分子乘以分母的倒数,分母保持不变,同样进行简化。
3. **辅助方法**:
- `yuefen()` 方法:用于简化分数,当分母为负时,同时调整分子和分母的符号,并通过 `get()` 函数计算并应用最大公约数。
- `guigehua()` 方法:用于处理分数的正负号,如果分母为负,则同时改变分子和分母的符号,使分数保持在正常形式。
4. **逻辑处理**:
- 在进行任何分数运算之前,`yuefen()` 方法会检查分母是否为零,如果是则直接返回分子。此外,它确保结果分数是简化的。
5. **实例化和使用**:
用户可以通过创建 `fenshu` 对象,并利用运算符重载的方法来输入分数,例如 `fenshu a = {3, 4}; fenshu b = {2, 5}; fenshu result = a + b;`,程序会计算出两个分数的和。
这个分数计算器类提供了一个基础的数学工具,适合于教学、编程练习或简单分数计算场景。通过使用C++的面向对象特性,实现了灵活的操作和清晰的代码结构。