Source: https://web.cs.wpi.edu/~rek/Systems/C08/Operator_Overloading.pdf