我有一個分數類,可以在自己的碼裏工作,比如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;
}
非常感謝您的任何建議!