example of an operator overload in Harbin:
# Include <iostream> <br/> using namespace STD; <br/> class complex <br/> {public: <br/> complex () <br/> {real = 0; imag = 0 ;}< br/> complex (Double R, double I) <br/> {real = r; imag = I ;} <br/> complex operator + (const complex & C); <br/> complex operator-(complex & C); <br/> complex operator * (complex & C ); <br/> complex operator/(complex & C); <br/> void display (); <br/> PRIVATE: <br/> double real; <br/> double imag; <br/>}; <br/> complex: Operator + (const complex & C) <br/>{< br/> complex m; <br/> M. real = real + C. real; <br/> M. imag = imag + C. imag; <br/> return m; <br/>}< br/> complex: Operator-(complex & C) <br/>{< br/> complex m; <br/> M. real = real-c.real; <br/> M. imag = imag-c.imag; <br/> return m; <br/>}< br/> complex: Operator * (complex & C) <br/>{< br/> complex m; <br/> M. real = real * C. real; <br/> M. imag = imag * C. imag; <br/> return m; <br/>}< br/> complex: Operator/(complex & C) <br/>{< br/> complex m; <br/> M. real = real/C. real; <br/> M. imag = imag/C. imag; <br/> return m; <br/>}< br/> void complex: Display () <br/> {If (IMAG> 0) <br/> cout <"(" <real <"+" <imag <"I" <")" <Endl; <br/> else <br/> cout <"(" <real <imag <"I" <")" <Endl; <br/>}< br/> int main () <br/> {complex C1 (20, 10), C2 (10,-5), C3; <br/> C3 = C1 + C2; <br/> c3.display (); <br/> C3 = c1-c2; <br/> c3.display (); <br/> C3 = C1 * C2; <br/> c3.display (); <br/> C3 = C1/C2; <br/> c3.display (); <br/> return 0; <br/>}< br/>