今天我老师给我看了下面的例子:
CFraction operator*(const CFraction &a, const CFraction &b){
CFraction x;
x.setNumerator(a.getNumerator()*b.getNumerator());
x.setDenominator(a.getDenominator()*b.getDenominator());
return x;
}
// ...
void main(){
CFraction b1,b2(3,7),b3(5,8);
b2=b1*3;
b2=3*b1;
}
Run Code Online (Sandbox Code Playgroud)
他说上面的代码可以正常工作,但是如果你将方法改为:
CFraction operator*(CFraction&,CFraction&);
Run Code Online (Sandbox Code Playgroud)
它不会起作用.这是为什么?
希望你能解释一下.
提前致谢.