C++重载Franction()
时间: 2023-07-11 07:03:26 浏览: 157
在C++中,可以通过函数重载来实现对构造函数的重载。如果要重载Fraction()构造函数,可以按照以下方式进行:
```c++
class Fraction {
private:
int numerator;
int denominator;
public:
Fraction() { // 默认构造函数
numerator = 0;
denominator = 1;
}
Fraction(int num, int den) { // 带参数的构造函数
numerator = num;
denominator = den;
}
Fraction operator+(const Fraction& f) { // 加法运算符重载
int num = numerator * f.denominator + f.numerator * denominator;
int den = denominator * f.denominator;
return Fraction(num, den);
}
Fraction operator-(const Fraction& f) { // 减法运算符重载
int num = numerator * f.denominator - f.numerator * denominator;
int den = denominator * f.denominator;
return Fraction(num, den);
}
Fraction operator*(const Fraction& f) { // 乘法运算符重载
int num = numerator * f.numerator;
int den = denominator * f.denominator;
return Fraction(num, den);
}
Fraction operator/(const Fraction& f) { // 除法运算符重载
int num = numerator * f.denominator;
int den = denominator * f.numerator;
return Fraction(num, den);
}
Fraction operator-() { // 负号运算符重载
return Fraction(-numerator, denominator);
}
// 重载Fraction()构造函数
Fraction(int num) {
numerator = num;
denominator = 1;
}
// 显示分数的方法
void display() {
cout << numerator << "/" << denominator << endl;
}
};
```
在上述代码中,我们通过重载Fraction()构造函数,实现了带一个参数的构造函数,用于创建分母为1的分数对象。同时,我们还实现了加减乘除等运算符的重载,以及负号运算符的重载,方便我们对分数对象进行各种运算操作。
阅读全文