我有一个分数类,可以在自己的码里工作,比如1/2 + 1/3 = 5/6甚至是int,1/2 + 2 = 5/2。可以返回类型混合?或变通办法解决方案
对我来说,看到3/2 + 3/2 = 3/1是可以的,但是,有没有办法返回一个有条件的类型?例如,如果分母是1,则返回一个int,否则返回一个分数。
如果不行,还有其他绕行吗?
class Fraction{
__int64 _num,_dem;
public:
friend Fraction const operator+(Fraction const& lhs,Fraction const& rhs);
}
Fraction const operator+(Fraction const& lhs,Fraction const& rhs){
return Fraction(lhs)+=rhs;
}
非常感谢您的任何建议!