Operator overloading or ad-hoc polymorphism lets you work with user defined types much the same way you work with fundamental ...