#include <iostream>using namespacestd;classcomplex{ Public: Complex (DoubleR=0.0,DoubleI=0.0): Real (R), Imag (i) {} Complexoperator+ (ConstComplex &c2)Const; Complexoperator- (ConstComplex &c2)Const; voidDisplay ()Const;Private: DoubleReal,imag;};voidComplex::d isplay ()Const{cout<<"("<<real<<","<<imag<<")"<<Endl;} Complex Complex::operator+ (ConstComplex &c2)Const{ returnComplex (REAL+C2.REAL,IMAG+C2.IMAG);//call the complex constructor to create a temporary object and return it//Complex C (REAL+C2.REAL,IMAG+C2.IMAG); //return C;}complex Complex::operator- (ConstComplex &c2)Const{ returnComplex (real-c2.real,imag-c2.imag);}intMain () {Complex C1 (5,4), C2 (2,Ten), C3; cout<<"c1="; C1.display (); cout<<"c2="; C2.display (); C3=c1-C2; cout<<"c2=c1-c2="; C3.display (); C3=c1+C2; cout<<"c2=c1+c2="; C3.display (); return 0;}
C + + operator overloading as member function