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