运算符重载的规则以下:函数
一、C++中的运算符除了少数几个以外,所有能够重载,并且只能重载C++中已经有的运算符。指针
二、重载以后运算符的优先级和结合性都不会改变对象
三、运算符重载是针对新类型数据的实际须要,对原有运算符进行适当的改造,通常来说,重载的功能应当与原有功能相相似,不能改变原运算符的操做对象个数,同时至少要有一个操做对象是自定义类型。作用域
注意:不能重载的运算符只有5个,它们是类属关系运算符“.”、成员指针运算符“.*”、做用域分辨符“::”、sizeof运算符和三木运算符“?:”。前面两个运算符保证了C++中访问成员功能的含义不被改变。做用域分辨符和sizeof运算符的操做数是类型。原型
四、 运算符的重载形式有两种,重载为类的成员函数和重载为类的友元函数。语法
函数类型 operator 运算符(形参表)数据
{co
函数体block
}运算符