class Fraction
{
friend Fraction operator+(const Fraction& f1, const Fraction& f2);
private:
int numerator;
int denominator;
};
--------------------------------------------------------------------
Fraction operator+(const Fraction& f1, const Fraction& f2)
{
Fraction r; // declare a Fraction to hold the result
// load result Fraction with sum of adjusted numerators
r.numerator = (f1.numerator*f2.denominator)
+ (f2.numerator*f1.denominator);
// load result with the common denominator
r.denominator = f1.denominator * f2.denominator;
return r; // return the result Fraction
}
有没有办法让Operator + add fraction(来自Fraction类)带整数?
示例:
Fraction frac(7/15), x = frac + 13;
答案 0 :(得分:1)
是的,这是可能的,虽然我不会这样做。
据推测(在您的真实代码中),您有Fraction
的构造函数,它带有两个参数:分子和分母。将分母设为默认参数设置为1。
然后您不再需要+
的任何重载,或者您打算随时间支持的任何额外重载(例如-
,*
和&amp; c。)。< / p>