C++中的運(yùn)算符(operator)主要用于定義和重載操作符函數(shù),以便為自定義類型提供類似于內(nèi)置類型的操作。并非所有的運(yùn)算符都可以被重載,但許多常用的運(yùn)算符都可以被重載。以下是一些可以重載的運(yùn)算符:
+
, -
, *
, /
, %
, ++
, --
等。==
, !=
, <
, <=
, >
, >=
等。&
, |
, ^
, ~
, <<
, >>
等。&&
, ||
, !
等。=
, +=
, -=
等。,
。? :
。.
。->
。*
。需要注意的是,并非所有的運(yùn)算符都可以被重載。例如,賦值運(yùn)算符 =
和逗號(hào)運(yùn)算符 ,
就不能被重載。此外,一些運(yùn)算符的行為在重載時(shí)需要特別小心,以確保它們的行為與預(yù)期一致。
在C++中,可以通過在類定義中使用成員函數(shù)模板來重載運(yùn)算符。例如:
class MyClass {
public:
int value;
MyClass operator+(const MyClass& other) const {
return MyClass{value + other.value};
}
};
在這個(gè)例子中,我們?yōu)?MyClass
類型重載了加法運(yùn)算符 +
。