++, =, <= and etc., can be overloaded
in C++. This means that you can redefine what an operator means for
a particular type. For example, you can define the following operator
for a user defined class:
class X
{
int i,j;
// ...
public:
int getI(void); // get the value of i
int getJ(void); // get the value of j
};
bool operator== (X a, X b)
{
return (a.getI() == b.getI()) && (a.getJ() == b.getJ());
}
With these definitions, we can use the overloaded operator as follows:
{
X mine, yours;
// ...
if (mine == yours)
{
// ...
}
// ...
}
The condition mine == yours is easier to read compared to something
like X_equal(mine, yours).