C++程序设计教程8 操作符重载.docVIP

  • 2
  • 0
  • 约4.54千字
  • 约 6页
  • 2016-11-28 发布于河南
  • 举报
C程序设计教程8操作符重载

1:可重载的操作符有: 2:重载操作符必须具有一个类类型操作数 重载操作符必须具有至少一个类类型或枚举类型的操作数。不能重新定义用于内置类型对象的操作符。 3:优先级和结合性是固定不变的,除了函数调用操作符operator(),重载操作符时使用默认实参是非法的 4:不再具有短路求值特性,就是不能保证操作数的求值顺序 5:是普通非成员函数,也可以是类成员函数,如果是成员函数,则形参看起来比操作数目少1,第一个形参是this 一般将算术和关系操作符定义为非成员函数,将赋值运算符定义为成员函数 操作符定义为非成员函数是,通常必须将他们设置为所操作类的友员 重载操作符的设计: 1:不要重载具有内置含义的操作符,重载逗号,取地址,逻辑与,逻辑或等操作符都不是好的做法 2:大多数操作符对类对象没有意义 3:如果一个类有算术操作符,或位操作符。那么提供相应的复合赋值操作符一般是一个好的做法 4:相等和关系操作符,将要用作关联容器键类型的类应该定义操作符,类通常也该定义==和操作符,因为很多算法假定这些操作符的存在。 下面是一些指导原则a:赋值=,下标[],调用(),和成员访问箭头-等操作符必须定义为成员,将这些定义为非成员函数将在编译时候标记错误 b:像赋值一样,复合赋值操作符通常为类的成员,但不这样做不会标记错误 c:改变对象状态或与给定类型紧密联系的其他一些操作符,如自增,自减,解引用,

文档评论(0)

1亿VIP精品文档

相关文档