定义Fraction的转换构造函数(将int转换为Fraction),和类型转换函数(将Fraciton 转换为int).
将int转换n为Fraction规则:分子为n,分母为1;
将Fraciton 转换为int:返回分子/分母的整数部分。
类定义:
class Fraction{
};
裁判测试程序样例:
#include<iostream>
#include<iomanip>
using namespace std;
class Fraction //分数
{
private:
int num = 0; //分子
int den = 1; //分母
public:
//构造函数
Fraction() {}
Fraction(int num, int den); //已定义,无需定义
/* 请在这里填写答案 */
};
int main()
{
int num,n1,n2;
cin>>num>>n1>>n2;
Fraction f1(n1,n2);
Fraction f2=f1+num; //f1隐式转换为int,与num运算 ,int结果再隐式转换为Fraction
cout<<f2; //f2隐式转换为int
return 0;
}
输入样例:
在这里给出一组输入。例如:
1 8 3
输出样例:
3
//将 Fraction 类型对象转换为 int 类型对象
operator int() const {
return num / den; // 返回整数部分
}
// 友元函数:重载加法运算符,用于整数 + 分数
Fraction operator+(int n) {
return Fraction(n*den+num , den);
}