C++开发初级


845 浏览 5 years, 4 months

10.4 创建具有运算符重载的类型

版权声明: 转载请注明出处 http://www.codingsoho.com/

创建具有运算符重载的类型

许多人觉得运算符重载的语法深奥难懂,至少刚看上去是这样的。让事情变得简单好像是一句反话,您己经看到对于编写类的人来说这并不简单,但是对于使用类的人来说确实简单。关键在于使新类尽量类似于内建类型(例如int以及double)。在执行两个对象的加法时,使用+比记住应该调用add()还是sum()更为简单。

提供运算符重载,将其作为向类的客户提供的服务。

此时,您可能会疑惑应该重载哪些运算符。答案是“几乎全部运算符都可以重载—即使是您从来没有听说过的”。您实际上是在描绘接口:在对象生命周期那一节您已经看到赋值运算符、基本算术运算符、简写算术运算符以及比较运算符。重载流插入以及提取运算符也是有用的。此外,通过运算符重载您可以做一些灵活而有趣的事情,刚开始您可能并没有注意到这一点。STL广泛地使用了运算符重载,后面讲述如何重载其余的运算符以及在什么时候重载这些运算符。