其他分享
首页 > 其他分享> > 当我的对象位于C的右侧时,如何重载运算符*?

当我的对象位于C的右侧时,如何重载运算符*?

作者:互联网

我想实现“operator *”重载INSIDE我的类,所以我将能够执行以下操作:

Rational a(1, 2), b;
b = 0.5 * a; // b = 1/4

请注意,b在右侧,是否有办法在“Rational”类中执行此类操作?

解决方法:

不可以.您必须将operator *定义为自由函数.当然,您可以根据第二个参数的成员函数来实现它.

标签:c,overloading,operator-keyword
来源: https://codeday.me/bug/20190929/1832883.html