For beginning C++ programmers, operator overloading may seem like a complicated task, but in fact, it’s really simple. You can overload operators in two ways:
- On non-member functions.
- On member functions.
When overloading operators on non-member functions, the expression looks like @ is the operator and a and b are two separate objects that are pass into operator @(a,b).
This example isn’t necessarily useful, but it helps to explain overloading operators on non-member functions.
int operator+(int a, int b){ return (a + b);}
When overloading operators on member functions, the expression looks like a is some other object. The function should look like this: operator @(a). Simple right? Here’s what it looks like:
void class::operator++(){ m_myData++;}