// 一种高效和正确的方法,用来实现返回对象的函数
const Rational operator*(const Rational& lhs,
const Rational& rhs)
{
return Rational(lhs.numerator() * rhs.numerator(),
lhs.denominator() * rhs.denominator());
}
仔细观察被返回的表达式。它看上去好象正在调用Rational的构造函数,实际上确是这样。
本文介绍了一种高效且正确的方法来实现两个Rational对象的乘法运算。通过定义一个运算符重载函数,该函数接受两个常量引用参数,并返回一个新的Rational对象,其分子为两个输入对象分子的乘积,分母为两个输入对象分母的乘积。
// 一种高效和正确的方法,用来实现返回对象的函数
const Rational operator*(const Rational& lhs,
const Rational& rhs)
{
return Rational(lhs.numerator() * rhs.numerator(),
lhs.denominator() * rhs.denominator());
}
仔细观察被返回的表达式。它看上去好象正在调用Rational的构造函数,实际上确是这样。

被折叠的 条评论
为什么被折叠?