0
我的C++讲师声称,无论何时您必须实现operator +(),您还必须提供operator + =()以及?operator +()和operator + =()
我无法理解这个逻辑,有人可以向我解释这个决定背后的逻辑吗?
我的C++讲师声称,无论何时您必须实现operator +(),您还必须提供operator + =()以及?operator +()和operator + =()
我无法理解这个逻辑,有人可以向我解释这个决定背后的逻辑吗?
您的讲师是错误的。
,你可以总结两个对象形成新的第三个对象(这是二进制+
一样),但这并不一定意味着你的对象应该是修改“到位”(这是什么+=
一样)。
换句话说,当且仅当您的类支持的到位是修改的概念,那么它是一个相当良好的编程习惯提供+=
只要您同时提供+
和=
。但无论如何,这里没有“必须”。
如果你打算做一个,那么两者都有意义,但是对此没有“必须”。 – crashmstr
不,没有任何东西强迫你这样做,它只是推荐,因为它是合乎逻辑的。 – clcto
索赔是不合理的:Z运营商+(X,Y) –