本博文参考大学教材《c++面向对象程序设计》
运算符其实是一种特殊的函数,称为运算符函数。运算符重载是一种特殊的函数重载,但是它的命名规则不同于普通的函数重载,有特殊的函数命名方式和固定不变的参数个数。
应用运算符能够编写出简练的表达式、清晰而高效的程序代码。
1.运算符重载的限制
- 只有c++预定义操作符集合中的运算符才能够被重载,这些运算符如下:


- 只能被重载为类成员函数的运算符,运算符可以被重载为类的非静态成员函数、类的友元函数,或普通函数。但c++规定,以下运算符只能够被重载为类的非静态成员函数
= [ ] () ->
- 不能改变运算符的优先级;
- 不能改变运算符的结合顺序(如+、-、*、/按照从左到右的顺序,这个顺序不能改变);
- 重载运算符不能使用默认参数;
- 不能改变运算符所需要的参数个数;
- 不能创造新运算符,只能重载系统已有的运算符;
- 不能改变运算符原有含义;
- 若运算符被重载为类的成员函数,只能重载系统已有的运算符;
运算符重载
原文:https://www.cnblogs.com/stu-jyj3621/p/12936654.html