from
The Free On-line Dictionary of Computing (8 July 2008)
overloading
ad-hoc polymorphism
operator overloading
<language> (Or "Operator overloading"). Use of a single
symbol to represent operators with different argument types,
e.g. "-", used either, as a {monadic} operator to negate an
expression, or as a {dyadic} operator to return the difference
between two expressions. Another example is "+" used to add
either integers or {floating-point} numbers. Overloading is
also known as ad-hoc {polymorphism}.
User-defined operator overloading is provided by several
modern programming languages, e.g. {C++}'s {class} system and
the {functional programming} language {Haskell}'s {type
class}es.
(1995-04-30)