如果我编写ObjectA + -ObjectB并重载+和 - 运算符,哪个对象会调用哪些方法?

时间:2014-11-06 05:27:19

标签: c++ operator-overloading operator-precedence

我很好奇,因为我试图否定一个对象(例如-ObjA),并意识到我对如何调用这些运算符感到不稳定。感谢任何帮助。谢谢。

1 个答案:

答案 0 :(得分:1)

如果将运算符定义为成员函数,ObjectA+-ObjectB只是ObjectA.operator+(ObjectB.operator-())的语法糖。另一方面,如果将它们定义为自由函数,则它只是operator+(ObjectA, operator-(ObjectB))的语法糖。