C++ 的 get
和 set
訪問器方法本身并不直接支持運算符重載。然而,你可以通過定義相應的友元函數來實現對運算符的重載。
例如,假設你有一個名為 MyClass
的類,其中包含一個名為 value
的私有成員變量。你可以為 MyClass
類定義 get
和 set
訪問器方法,如下所示:
class MyClass {
private:
int value;
public:
MyClass(int val) : value(val) {}
int get() const {
return value;
}
void set(int val) {
value = val;
}
};
現在,你可以通過定義友元函數來重載 operator+
,以便可以對 MyClass
對象執行加法操作。例如:
class MyClass {
private:
int value;
public:
MyClass(int val) : value(val) {}
int get() const {
return value;
}
void set(int val) {
value = val;
}
friend MyClass operator+(const MyClass& lhs, const MyClass& rhs);
};
MyClass operator+(const MyClass& lhs, const MyClass& rhs) {
return MyClass(lhs.get() + rhs.get());
}
這樣,你就可以使用 operator+
對 MyClass
對象執行加法操作,例如:
int main() {
MyClass a(3);
MyClass b(4);
MyClass c = a + b; // 使用重載的運算符
return 0;
}