1. 函数如果返回对象,就会产生临时对象(见条款19)的构造,析构等过程,考虑以下重载的operator*:
class Rational{ public: int getNumerator(){return numerator;} int getDenomerator(){return denominator;} Rational(int numerator,int denomimator); ... private: int 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类型的对象,用于存储结果 }