条款21:必须返回对象时,别妄想返回其 reference
const Rational& operator* (const Rational& lhs, const Rational& rhs) {
Rational result(lhs.n * rhs.h, lhs.d * rhs.d);
return result;
}const Rational& operator* (const Rational& lhs, const Ratinoal& rhs) {
Rational* result = new Rational(lhs.n * rhs.n, lhs.d * rhs.d);
return *result;
}Rational w, x, y, z;
w = x * y * z;const Rational& operator* (const Rational& lhs, const Rational& rhs) {
static Rational result;
result = ...;
return result;
}Last updated