设计一个分数类( fraction ),实现带有默认分母(等于1)的构造 函数,实现分数+
时间: 2023-07-15 15:09:52 浏览: 120
分数类的实现
以下是一个简单的分数类 Fraction 的实现,其中包括默认分母为 1 的构造函数以及分数加法运算符重载:
```cpp
#include <iostream>
using namespace std;
class Fraction {
public:
Fraction(int n = 0, int d = 1) : numerator(n), denominator(d) {}
Fraction operator+(const Fraction& other) const {
int n = numerator * other.denominator + other.numerator * denominator;
int d = denominator * other.denominator;
return Fraction(n, d);
}
void print() const {
cout << numerator << "/" << denominator << endl;
}
private:
int numerator;
int denominator;
};
int main() {
Fraction a(1); // 默认分母为 1
Fraction b(1, 2);
Fraction c = a + b;
c.print(); // 输出 3/2
return 0;
}
```
在上面的代码中,我们定义了一个 Fraction 类,它有两个成员变量 numerator 和 denominator 表示分子和分母。构造函数 Fraction(int n = 0, int d = 1) 可以接受一个分子和一个分母,分母默认为 1。运算符重载函数 operator+() 实现了分数的加法,返回一个新的 Fraction 对象。print() 函数用于输出分数。
在主函数中,我们创建了两个分数对象 a 和 b,其中 a 的分母默认为 1,b 的分子为 1,分母为 2。然后我们将它们相加得到一个新的 Fraction 对象 c,并将其输出。
输出结果为 3/2,表示 1 + 1/2 = 3/2。
阅读全文