在C++中,可以通過定義成員函數或者友元函數的方式來重載運算符。以下是定義類時重載運算符的方法:
class MyClass {
public:
int data;
MyClass operator+(const MyClass& other) {
MyClass result;
result.data = this->data + other.data;
return result;
}
};
class MyClass {
public:
int data;
friend MyClass operator+(const MyClass& obj1, const MyClass& obj2) {
MyClass result;
result.data = obj1.data + obj2.data;
return result;
}
};
在以上例子中,重載了"+"運算符,使得我們可以直接對兩個MyClass對象進行相加操作。需要注意的是,對于非成員運算符函數,如果要訪問類的私有成員,可以使用友元函數來實現。