運算符重載的規則如下:
1、C++中的運算符除了少數幾個之外,全部可以重載,而且只能重載C++中已經有的運算符。
2、重載之後運算符的優先級和結合性都不會改變
3、運算符重載是針對新類型數據的實際需要,對原有運算符進行適當的改造,一般來講,重載的功能應當與原有功能相類似,不能改變原運算符的操作對象個數,同時至少要有一個操作對象是自定義類型。
注意:不能重載的運算符只有5個,它們是類屬關系運算符“.”、成員指針運算符“.*”、作用域分辨符“::”、sizeof運算符和三木運算符“?:”。前面兩個運算符保證了C++中訪問成員功能的含義不被改變。作用域分辨符和sizeof運算符的操作數是類型。
4、 運算符的重載形式有兩種,重載為類的成員函數和重載為類的友元函數。
函數類型 operator 運算符(形參表)
{
函數體
}