prg*_*lop 3 c++ overloading operator-keyword
我想实现"operator*"重载INSIDE我的类,所以我将能够执行以下操作:
Rational a(1, 2), b;
b = 0.5 * a; // b = 1/4
Run Code Online (Sandbox Code Playgroud)
请注意,b在右侧,是否有办法在 "Rational"类中执行此类操作?
是:
class Rational {
// ...
friend Rational operator*(float lhs, Rational rhs) { rhs *= lhs; return rhs; }
};
Run Code Online (Sandbox Code Playgroud)
注意:这当然是滥用friend关键字.它应该是一个自由的功能.