運算符重載的方法是定義一個重載運算符的函數,在需要執行被重載的運算符時,系統就自動調用該函數,以實現響應的運算;
也就是說 , 運算符重載是通過定義函數實現的 , 運算符重載實質上是函數的重載;
重載運算符的函數一般格式 :
函數類型 operator 運算符名稱 (形參列表){
對運算符的重載處理;
}
例如 : 重載+運算符 ;
int operator+(int a ,int b){
return a-b;
}
c++不允許用戶自定義新的運算符,只能對已有的c++運算符進行重載 ;其中有5中運算符不允許重載;
不允許重載的運算符爲 : . (成員訪問運算符) *(成員指針訪問運算符) ::(域運算符) sizeof (尺寸運算符) ?:(條件運算符)
重載不能改變運算符運算對象個數 ;
重載不能改變運算符的優先級別 ;
重載不能改變運算符的結合性;不能有默認的參數;
重載運算符必須和用戶自定義的類型對象一起使用 ;也就是說 , 參數不能全部都是c++的標準類型 , 這樣約定是爲了防止用戶修改用於標準類型結構的運算符性質 ;