Introduction
Operator overloading lets you change how operators like + or - work with your own types. It makes your code easier to read and use.
You want to add two custom objects like points or vectors using +.
You want to compare two objects with == or != in a natural way.
You want to multiply or divide your own data types with * or /.
You want to use operators to combine or modify your custom types simply.