5.设计一个分数类,该类有通过参数初始化对象,两个分数相加、相减的运算功能,以及按照“a/b”的形式输出分数的功能。c++
时间: 2024-03-18 10:39:19 浏览: 14
好的,我可以帮您设计一个分数类。以下是C++代码示例:
```c++
#include <iostream>
using namespace std;
class Fraction {
private:
int numerator;
int denominator;
public:
Fraction(int num, int den) {
numerator = num;
denominator = den;
}
Fraction add(Fraction other) {
int num = numerator * other.denominator + other.numerator * denominator;
int den = denominator * other.denominator;
return Fraction(num, den);
}
Fraction subtract(Fraction other) {
int num = numerator * other.denominator - other.numerator * denominator;
int den = denominator * other.denominator;
return Fraction(num, den);
}
void print() {
cout << numerator << "/" << denominator << endl;
}
};
int main() {
Fraction f1(1, 2);
Fraction f2(3, 4);
Fraction result = f1.add(f2);
result.print(); // 输出 5/4
result = f1.subtract(f2);
result.print(); // 输出 -1/4
f1.print(); // 输出 1/2
return 0;
}
```
在上面的代码中,我们定义了一个Fraction类,它有一个初始化函数,它将分子和分母作为参数。我们还定义了两个函数add和subtract,这些函数将两个分数相加和相减。最后,我们定义了一个print函数,它将分数以"a/b"的形式输出。
以下是使用上面的类的示例:
```c++
Fraction f1(1, 2);
Fraction f2(3, 4);
Fraction result = f1.add(f2);
result.print(); // 输出 5/4
result = f1.subtract(f2);
result.print(); // 输出 -1/4
f1.print(); // 输出 1/2
```
希望这可以帮助您设计一个分数类!