首页 > 代码库 > c++运算符重载注意的问题

c++运算符重载注意的问题

c++primer第四版435

1.赋值( = ), 下标( [ ] ) ,调用 (  ( )  ), 成员访问箭头 (->)等操作符必须定义为成员,定义为非成员时,编译器报错

2. 像赋值一样,符合赋值操作符通常应定义为类的成员,但是定义为非成员的复合赋值操作符时不会出现编译错误

3.改变对象状态或给定类型紧密联系的其他一些操作符,如自增,自减和解引用,通常应定义为类的成员

4.对称操作,如算术操作符,相等操作符,关系操作符和位操作符,最好定义为普通的非成员函数


不能重载的操作符:

::       .*      .      ? :


c++运算符重载注意的问题