operator +()和operator + =()

时间:2014-11-13 20:20:48

标签: c++

我的C ++讲师声称,无论何时必须实现operator +(),你都必须提供operator + =()吗?

我无法理解这种逻辑,有人可以解释这个决定背后的逻辑吗?

1 个答案:

答案 0 :(得分:1)

你的讲师错了。

你可以将形成新第三个对象的两个对象(这是二进制+所做的)相加的事实并不一定意味着你的对象应该是可修改的"就位#34; (这是+=所做的)。

换句话说,当且仅当您的类支持可修改的概念时,每当您提供+=时,提供+是一个相当不错的编程习惯= 1}}和{{1}}。但无论如何,没有"必须"这里。