Overloading operators to working with operands of custom class/structs. In this instance the user defined ComplexNumber type.
Code:
// overload the addition operator
public static ComplexNumber operator + ( ComplexNumber lhs, ComplexNumber rhs )
{
// return new ComplexNumber
return new ComplexNumber( lhs.Real + rhs.Real, lhs.Imaginary + rhs.Imaginary );
}
Code:
ComplexNumber x = new ComplexNumber();
ComplexNumber y = new ComplexNumber();
ComplexNumber z = x + y;