c++ 常用的几种重载操作符
运算符可以作为普通函数,朋友函数或成员函数来重载。下面的经验法则可以帮助您确定哪种形式最适合于给定的情况:
- 如果你重载了赋值(=),下标([]),函数调用(())或成员选择( - >),那么它就是成员函数。
- 如果你重载一个一元运算符,那么作为一个成员函数。
- 如果你重载了一个修改左操作数的二元运算符(例如operator + =),那么你可以这样做。
- 如果你重载了一个不修改其左操作数的二进制运算符(例如operator +),那么作为一个普通的函数或者朋友函数。
当使用赋值运算符和拷贝构造函数时,新的程序员经常混淆在一起,但是相当简单:
- 如果在复制之前必须创建一个新对象,则使用复制构造函数(注意:这包括按值传递或返回对象)。
- 如果在复制发生之前不需要创建新对象,则使用赋值运算符。
point + point 二元运算符+最好作为普通/好友函数来实现。
-point 一元运算符 - 最好作为一个成员函数来实现。
std :: cout << point 运算符<<必须作为普通/好友函数来实现。
point = 5; =必须作为成员函数来实现。