C++支持多種運算符重載,使得程序員可以根據需要自定義運算符的行為。以下是C++中常見的運算符重載方式:
重載賦值運算符(operator=):
class_name& operator=(const class_name& other);
重載復合賦值運算符:
class_name& operator=(class_name other);
或 class_name& operator+=(class_name other);
等。重載比較運算符:
bool operator==(const class_name& other);
或 bool operator!=(const class_name& other);
等。重載邏輯運算符:
bool operator&&(const class_name& other);
或 bool operator||(const class_name& other);
等。重載位運算符:
class_name& operator&=(const class_name& other);
或 class_name& operator|=(const class_name& other);
等。重載輸入輸出運算符:
istream& operator>>(istream& in, class_name& obj);
或 ostream& operator<<(ostream& out, const class_name& obj);
重載自增和自減運算符:
class_name& operator++();
(前綴)或 class_name operator++(int);
(后綴)以及類似的自減運算符。重載其他特殊運算符:
在進行運算符重載時,需要注意以下幾點: