我的C++讲师声称,每当您必须实现operator+()时,您还必须提供operator+=()吗?
我不能理解这个逻辑,有人能解释一下这个决定背后的逻辑吗?
发布于 2014-11-13 20:24:47
你的讲师错了。
您可以将两个对象相加,形成一个新的第三个对象(这就是二进制+所做的),这并不一定意味着您的对象应该是可修改的“就位”(这就是+=所做的)。
换句话说,如果并且只有在类支持可修改的概念的情况下,那么在提供+和=时提供+是一个很好的编程实践。但无论如何,这里没有“必须”。
https://stackoverflow.com/questions/26917664
复制相似问题