Being able to use the same operator type to perform different operations. For example, arithmetic operators such as +, -, * and / could be defined to perform differently on certain kinds of data. See ...
Operator overloading or ad-hoc polymorphism lets you work with user defined types much the same way you work with fundamental data types Polymorphism is one of the basic principles of OOP (Object ...