If the operator is overloaded as a global function, only one parameter operator is called a unary operator, and two parameter operators are called binary operators.
If the operator is overloaded as a member function of the class, the unary operator has no parameters. The binary operator has only one parameter on the right, because the object itself is a parameter on the left.
Operators can be defined as global functions or member functions.
= () []-> Can only be reloaded as a member function
Operators that cannot be overloaded
1. The operator of the C ++ internal data type (such as int float) cannot be changed.
2. You cannot reload '.' because '.' makes sense to any member in the class.
3. Do not reload the symbols that do not exist in the C ++ operator set, such as # @ $. Cause: difficult to understand and difficult to determine the priority.
4. When an existing operator is overloaded, the priority rule cannot be changed.