<分区>
我构建了一个类映射有理数,我想通过标量运算溢出来实现乘法,类似这样:
Rational &operator*(Rational const& a, double lambda)
{
Rational r(a._num * lambda, a._den);
}
在哪里_num
和 _den
是有理数的分子和分母。
当我运行 cout << r * 45.2;
, 我得到 -858993460/4389064
.应该注意的是 operator<<
在 Rational
的其他实例上工作正常.
怎么会不工作呢?谢谢:)