1#include <iostream>2 using namespacestd;3 classcomplex{4 Public:5Complex (DoubleR=0.0,DoubleI=0.0): Real (R), Imag (i) {}6Friend Complexoperator+ (ConstComplex &c1,ConstComplex &C2);7Friend Complexoperator- (ConstCOMPLEX&C1,ConstComplex &C2);8Friend Ostream &operator<< (Ostream & out,ConstComplex &c);9 Private:Ten DoubleReal,imag; One }; AComplexoperator+ (ConstComplex &c1,ConstComplex &C2) - { - returnComplex (c1.real+c2.real,c1.imag+c2.imag); the } -Complexoperator- (ConstComplex &c1,ConstComplex &C2) - { - returnComplex (c1.real-c2.real,c1.imag-c2.imag); + } -Ostream &operator<< (Ostream & out,ConstComplex &c) + { A out<<"("<<c.real<<","<<c.imag<<")"; at return out; - } - intMain () - { -Complex C1 (5,4), C2 (2,Ten), C3; -cout<<"c1="<<c1<<Endl; incout<<"c2="<<c2<<Endl; -C3=c1-C2; tocout<<"c3=c1-c2="<<c3<<Endl; +c3=c1+C2; -cout<<"c3=c1+c2="<<c3<<Endl; the return 0; *}
View Code
C + + operator overloading is non-member function