One or two formal parameters must occur, corresponding to unary and binary operators
At least one of the parameters must be of the type to which the operator belongs
Only value parameters apply
Some operators must be defined in pairs (either none or both):
== and !=< and ><= and >=
The special unary boolean operators true and false define when an object is playing the role as true or false
in relation to the conditional logical operators
Overloading the binary operator op causes automatic overloading of the assignment operator op=