運算符重載的規則以下:函數
一、C++中的運算符除了少數幾個以外,所有能夠重載,並且只能重載C++中已經有的運算符。指針
二、重載以後運算符的優先級和結合性都不會改變對象
三、運算符重載是針對新類型數據的實際須要,對原有運算符進行適當的改造,通常來說,重載的功能應當與原有功能相相似,不能改變原運算符的操做對象個數,同時至少要有一個操做對象是自定義類型。作用域
注意:不能重載的運算符只有5個,它們是類屬關係運算符「.」、成員指針運算符「.*」、做用域分辨符「::」、sizeof運算符和三木運算符「?:」。前面兩個運算符保證了C++中訪問成員功能的含義不被改變。做用域分辨符和sizeof運算符的操做數是類型。原型
四、 運算符的重載形式有兩種,重載爲類的成員函數和重載爲類的友元函數。語法
函數類型 operator 運算符(形參表)數據
{co
函數體block
}運算符