C++學習筆記(一)運算子的過載
阿新 • • 發佈:2020-12-08
運算子過載的需求
- C++預定義的運算子,只能用於基本的資料型別的運算:整形、實型、字元型、邏輯型...
- 在數學上,兩個負數可以直接進行+、-等運算。但在C++中,直接將+或-用於複數物件是不允許的
- 有時會希望,讓物件也能通過運算子進行運算, 這樣程式碼更簡潔,容易理解
- 例如:
- complex_a和complex_b是兩個複數物件;
求兩個複數的和,希望能直接寫 complex_a + complex_b
- complex_a和complex_b是兩個複數物件;
運算子過載
- 運算子過載,就是對已有的運算子(C++中預定義的運算子)賦予多重的含義,使同一運算子作用於不同型別的資料時導致不同型別的行為
- 運算子過載的目的是:擴充套件C++中提供的運算子的適用範圍,使之能作用於物件
- 同一個運算子, 對不同的型別的運算元,所發生的行為不同
運算子過載的形式
- 運算子過載的是指是函式過載
- 可以過載為普通函式, 也可以過載為成員函式
- 把含運算子的表示式轉換成對運算子函式的呼叫
- 把運算子的運算元轉換成運算子函式的引數
- 運算子被多次過載時, 根據實參的型別決定呼叫哪個運算子函式
返回值引數 operator 運算子(形參表){
....
}