C++运算符重载的规则

运算符重载的规则如下:

1、C++中的运算符除了少数几个之外,全部可以重载,而且只能重载C++中已经有的运算符。

2、重载之后运算符的优先级和结合性都不会改变

3、运算符重载是针对新类型数据的实际需要,对原有运算符进行适当的改造,一般来讲,重载的功能应当与原有功能相类似,不能改变原运算符的操作对象个数,同时至少要有一个操作对象是自定义类型。

    注意:不能重载的运算符只有5个,它们是类属关系运算符“.”、成员指针运算符“.*”、作用域分辨符“::”、sizeof运算符和三木运算符“?:”。前面两个运算符保证了C++中访问成员功能的含义不被改变。作用域分辨符和sizeof运算符的操作数是类型。

4、  运算符的重载形式有两种,重载为类的成员函数和重载为类的友元函数。

  • 运算符重载为类的成员函数的一般语法形式为:

函数类型  operator 运算符(形参表)

{

     函数体

}

  • 运算符重载为类的友元函数,可以在类中声明友元函数的原型,在类外实现,也可以在类体中实现
原文地址:https://www.cnblogs.com/haoyuanyuan/p/3323154.html