1. 函数如果返回对象,就会产生临时对象(见条款19)的构造,析构等过程,考虑以下重载的operator*:

class Rational{
public:
    int getNumerator(){return numerator;}
    int getDenomerator(){return denominator;}
    Rational(int numerator,int denomimator);
    ...
privateint numerator;
    int denominator;
}
Rational operator*(const Rational& lhs,const Rational& rhs){
    Rational result(lhs.getNumerator()*rhs.getNumerator()+lhs.getDenominator()+rhs.getDenominator());
    return result;//result是Rational类型的对象,用于存储结果
}
View Code

相关文章: