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