class myClass
{
public:
int myVal;
myClass(int val) : myVal(val)
{
}
myClass& operator+(myClass& obj)
{
myVal = myVal + obj.myVal;
return *this;
}
myClass& operator+(int inVal)
{
myVal = myVal + inVal;
return *this;
}
myClass& operator=(myClass& obj)
{
myVal = obj.myVal;
return *this;
}
};
int _tmain(int argc, _TCHAR* argv[])
{
myClass obj1(10);
myClass obj2(10);
obj1 = obj1 + obj2;
obj1 = 20 + obj2; // Error : No matching operands for operator "+"
return 0;
}
How can I implement operator '+' on integer and myClass object types as operands? (obj1 = 20 + obj2)