Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Let us look back at the story of overloaded operator functions and see what they accomplished for us in treating programmer-defined types similar to numeric types and what remains to be done.
I started with the statement that it is highly desirable to be able to treat variables of built-in types and of programmer-defined types in exactly the same way. C++ supports this approach by entering into a deal with the programmer. You as a programmer are required to give up your freedom of choice for function names. You start your function name with the keyword operator and you append to this keyword the symbol (or symbols) of the C++ built-in operator that you would like to use with the objects of your class.