我有两个类,我们称它们为A
和B
。我在 A
类中重载了 operator+=
。现在我想做这样的事情:
A += B + B + B
而且 B
类没有重载 operator+
,这是一个问题,因为求值是从右到左的(它想添加所有 B
s 然后 += 结果到 A
)。
有什么方法可以实现我的目标,而无需为 B
类实际重载 operator+
?
最佳答案
Is there any way to achieve my goal without actually overloading
operator+
for classB
?
一句话,没有。
A::operator+=
将 B
作为输入,因此如果您希望 A += B + B + B 起作用
,您需要一种将 B
对象添加在一起以生成 +=
可以作为输入的新 B
的方法,而这正是 operator+
用于。
关于c++ - 用两个类重载运算符 +=,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49581321/