【发布时间】:2011-02-24 13:04:38
【问题描述】:
在尝试学习运算符重载时,我从 C++ Primer 中阅读了以下语句。坦率地说,我不太明白这些声明想要传达的信息是什么。这些示例包括定义成员二元运算符和非成员二元运算符。使用它们时有什么区别吗?
通常我们将算术和关系运算符定义为非成员函数,并将赋值运算符定义为成员:
Sales_item& Sales_item:: operator (const Sales_item&)
Sales_item operator_(const Sales_item&, const Sales_item&);
加法和复合赋值都是二元运算符,但这些函数定义了不同数量的参数。差异的原因是 this 指针。
【问题讨论】:
标签: c++