However, exactly what computation is performed is not fixed. It depends on the operands. For example, the addition of two integers requires a different set of machine level instructions than the addition of two doubles. One can therefore talk about the overloading of operators.
Most computer languages do some overloading of operators as part of the language itself.
Thus, we refer to overloaded operators as function operators or operator functions . When dealing with member operator functions, the left most operand must be an instance of a class. In other cases, the decision belongs to the programmer. In certain circumstances, the traditional use of the operator determines how it should be declared. Finally, some experts argue that operator functions that have no side effects should be written as friend functions since they have no effect on the data members anyway.