设计一个分数类,该类有通过参数初始化对象,两个分数相加、相减的运算功能,以及按照“a/b”的形式输出分数的功能。用c++解决
时间: 2024-03-21 09:38:14 浏览: 14
好的,可以的。我可以帮你设计一个分数类。以下是C++代码:
```cpp
#include <iostream>
using namespace std;
class Fraction {
private:
int numerator; // 分子
int denominator; // 分母
public:
// 构造函数
Fraction(int numerator = 0, int denominator = 1) {
this->numerator = numerator;
this->denominator = denominator;
}
// 加法运算
Fraction operator+(Fraction const &obj) {
Fraction res;
res.numerator = numerator * obj.denominator + obj.numerator * denominator;
res.denominator = denominator * obj.denominator;
return res;
}
// 减法运算
Fraction operator-(Fraction const &obj) {
Fraction res;
res.numerator = numerator * obj.denominator - obj.numerator * denominator;
res.denominator = denominator * obj.denominator;
return res;
}
// 输出函数
void print() const {
cout << numerator << "/" << denominator << endl;
}
};
int main() {
Fraction f1(1, 2);
Fraction f2(1, 3);
Fraction f3 = f1 + f2;
Fraction f4 = f1 - f2;
f3.print(); // 输出:5/6
f4.print(); // 输出:1/6
return 0;
}
```
以上代码中,我们定义了一个 `Fraction` 类,该类具有分数的基本属性和方法。构造函数可以用来初始化对象,加法和减法运算符重载可以分别实现两个分数的加减运算,输出函数可以输出以“a/b”形式表示的分数。在 `main()` 函数中,我们创建了两个分数对象 `f1` 和 `f2`,并对它们进行了加减运算,最后输出了相应的结果。
希望这个代码可以帮到你!