运算符重载

本博文参考大学教材《c++面向对象程序设计》

运算符其实是一种特殊的函数,称为运算符函数。运算符重载是一种特殊的函数重载,但是它的命名规则不同于普通的函数重载,有特殊的函数命名方式和固定不变的参数个数。

应用运算符能够编写出简练的表达式、清晰而高效的程序代码。

1.运算符重载的限制

  • 只有c++预定义操作符集合中的运算符才能够被重载,这些运算符如下:

 

  •  不能被重载的运算符:

 

  •  只能被重载为类成员函数的运算符,运算符可以被重载为类的非静态成员函数、类的友元函数,或普通函数。但c++规定,以下运算符只能够被重载为类的非静态成员函数

    =             [ ]                ()               ->

  • 运算符重载过程中的限定条件
  1. 不能改变运算符的优先级;
  2. 不能改变运算符的结合顺序(如+、-、*、/按照从左到右的顺序,这个顺序不能改变);
  3. 重载运算符不能使用默认参数;
  4. 不能改变运算符所需要的参数个数;
  5. 不能创造新运算符,只能重载系统已有的运算符;
  6. 不能改变运算符原有含义;
  7. 若运算符被重载为类的成员函数,只能重载系统已有的运算符;

 

posted @ 2020-05-22 19:24  我等着你  阅读(578)  评论(0)    收藏  举报