範例

class MyClass {
public:
MyClass(int input);
MyClass(const MyClassright);
int getter() const{ return num; }
void settter(int input) { field = 
num; }

private:
int num;
};

const MyClass operator+(const MyClass& left, const MyClass& right){
return MyClass(left.getter() + right.getter());
}


解決方案
如果您宣告二進位運算子,您也可能想要一個 operator= 函數。

class MyClass {
public:
MyClass(int input);
MyClass(const MyClass& right);
int getter() const{ return num; }
void settter(int input) { field = 
num; }

MyClass& operator+=(const MyClass& right);

private:
int num;

};

const MyClass operator+(const MyClass& left, const MyClass& right){
return MyClass(left) += right;
}