Example

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());
}


Solution
If you declare a binary operator, you might also want an operator= function.

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;
}