An operator function
shall have at least one
function parameter or implicit object parameter whose type is
a class, a reference to a class, an
enumeration, or a reference to an enumeration
.  It is not possible to change the precedence, grouping, or number of operands
of operators
.  The meaning of
the operators 
=, (unary) 
&, and 
, (comma),
predefined for each type, can be changed for specific class types by
defining operator functions that implement these operators
.  Likewise, the meaning of the operators (unary) 
& and 
, (comma)
can be changed for specific enumeration types
.  Operator functions are inherited in the same manner as other base class
functions
.