在C++中,operator
關鍵字用于定義和重載操作符函數。在模板中使用操作符時,需要遵循以下步驟:
operator
關鍵字定義操作符函數。下面是一個簡單的示例,展示了如何在模板中重載加法操作符(operator+
):
#include <iostream>
// 定義一個模板類,包含兩個類型為T的成員變量
template <typename T>
class MyPair {
public:
MyPair(T a, T b) : first(a), second(b) {}
// 重載加法操作符
MyPair<T> operator+(const MyPair<T>& other) const {
return MyPair<T>(first + other.first, second + other.second);
}
private:
T first;
T second;
};
int main() {
MyPair<int> p1(3, 4);
MyPair<int> p2(1, 2);
// 使用重載的加法操作符
MyPair<int> p3 = p1 + p2;
std::cout << "p1 + p2 = (" << p3.first << ", " << p3.second << ")\n";
return 0;
}
在這個示例中,我們定義了一個名為MyPair
的模板類,它包含兩個類型為T
的成員變量。然后,我們重載了加法操作符(operator+
),使其能夠對兩個MyPair
對象進行相加。在main
函數中,我們創建了兩個MyPair<int>
對象,并使用重載的加法操作符將它們相加。