在C++中操作符可以進行重載,其依賴的關鍵字是operator,在具體應用的時候按照如下格式進行使用:
以類成員函數的形式進行重載的時候:
返回值 類名::operator被重載操作符(參數)
※這裏參數肯定要傳進來一個本類對象,例 TEST TEST::operator+(TEST& data) const;這樣子的函數形式。
以頂層函數的形式進行重載的時候:
返回值 operator被重載操作符(參數)
因爲頂層函數不在類中,其單目操作符的重載會傳入一個類對象參數,雙目的要傳入兩個,還有些因爲操作上的原因只能在類中進行重載,像[],(),->,=等。
例 TEST operator+(TEST& data1, TEST& data2);
操作符重載其實就是一個重載的函數,但是由於operator的作用可以書寫的時候更方便。
operator+(a,b)和a+b的效果是等價的。
關於在C++中可以重載的操作符有以下這些:
new new[] delete delete[]
+, -,*,/ , ^, &, |, ~, !, =, <, >, +=,-=, *=,/=,%=, ^=, &=, |= , <<, >>, <<=, >>=, ==, != , <=, >=, &&, ||, ++, --, , , ->* -> , (), []