我的C ++讲师声称,无论何时必须实现operator +(),你都必须提供operator + =()吗?
我无法理解这种逻辑,有人可以解释这个决定背后的逻辑吗?
答案 0 :(得分:1)
你的讲师错了。
你可以将形成新第三个对象的两个对象(这是二进制+
所做的)相加的事实并不一定意味着你的对象应该是可修改的"就位#34; (这是+=
所做的)。
换句话说,当且仅当您的类支持可修改的概念时,每当您提供+=
时,提供+
是一个相当不错的编程习惯=
1}}和{{1}}。但无论如何,没有"必须"这里。