在C++中,operator是用于定義或重載操作符的關鍵字。操作符是一種特殊的函數,用于在表達式中進行特定的運算操作。
C++中的operator關鍵字主要有兩個用法:
class MyClass {
public:
int value;
MyClass(int val) : value(val) {}
MyClass operator+(const MyClass& other) {
MyClass result(value + other.value);
return result;
}
};
int main() {
MyClass a(5);
MyClass b(10);
MyClass c = a + b; // 使用重載的"+"操作符進行相加操作
return 0;
}
class MyType {
public:
int value;
MyType(int val) : value(val) {}
friend std::ostream& operator<<(std::ostream& os, const MyType& obj) {
os << obj.value;
return os;
}
};
int main() {
MyType obj(5);
std::cout << obj; // 使用重載的"<<"操作符輸出自定義類型的值
return 0;
}
需要注意的是,C++中并非所有的操作符都可以被重載,只有限定的幾個操作符可以被重載,且有一些操作符有限制和規定。具體的操作符重載規則可以參考C++的相關文檔和教程。