小编Cod*_*ife的帖子

C++运算符重载

今天我老师给我看了下面的例子:

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)

它不会起作用.这是为什么?

希望你能解释一下.

提前致谢.

c++ operator-overloading

1
推荐指数
1
解决办法
71
查看次数

标签 统计

c++ ×1

operator-overloading ×1