Almost all operators can be overloaded, including:
All the arithmetic, logical, comparison, equality, assignment, and bit operators.
In addition, the autoincrement and autodecrement operators (
can have distinct prefix and postfix meanings.
The subscript or index operator
 and the function call
The class pointer operator (
->) and the member pointer
selector operator (
The assignment, function call, subscripting, and class pointer operators can be overloaded only by nonstatic member functions.
The following operators cannot be overloaded:
the member operator (
the member object selector operator (
the ternary conditional expression operator (
the scope resolution operator (
Click the Quiz link below to take a brief multiple-choice quiz on which operator can be overloaded.
Operator Overloading Quiz