已定义分数类,通过成员函数完成前缀++的运算符重载。使得可以进行++分数的运算。
函数接口定义:
class Fraction //分数
{
private:
int num = 0; //分子
int den = 1; //分母
public:
//构造函数
Fraction() {}
Fraction(int num, int den);
//打印分数
void PrintFraction() const;
//约分
Fraction Reduct();
};
类的成员函数均已定义。
裁判测试程序样例:
#include <iostream>
#include <cstdlib>
#include <cmath>
using namespace std;
class Fraction //分数
{
private:
int num = 0; //分子
int den = 1; //分母
public:
//构造函数
Fraction() {}
Fraction(int num, int den);
//打印分数
void PrintFraction() const;
//约分
Fraction Reduct();
/* 请在这里填写答案 */
};
//成员函数均已定义,代码略
int main()
{
int n1,n2;
char c;
cin>>n1>>c>>n2;
Fraction f1(n1,n2),f2;
f2=++f1;
f1.PrintFraction();
f2.PrintFraction();
return 0;
}
输入样例:
1/2
输出样例:
3/2
3/2
Fraction operator++()
{
num+=den;
Reduct();
return *this; // 返回当前对象的引用
}
Fraction operator++() {
num += den;
return Reduct();
}