1 #include<iostream>
2 using namespace std;
3 class Complex{
4 public:
5 Complex(double r=0.0,double i=0.0):real(r),imag(i){}
6 friend Complex operator + (const Complex &c1,const Complex &c2);
7 friend Complex operator - (const Complex&c1,const Complex &c2);
8 friend ostream & operator <<(ostream & out,const Complex & c);
9 private:
10 double real,imag;
11 };
12 Complex operator + (const Complex &c1,const Complex &c2)
13 {
14 return Complex(c1.real+c2.real,c1.imag+c2.imag);
15 }
16 Complex operator - (const Complex &c1,const Complex &c2)
17 {
18 return Complex(c1.real-c2.real,c1.imag-c2.imag);
19 }
20 ostream & operator <<(ostream & out,const Complex & c)
21 {
22 out<<"("<<c.real<<","<<c.imag<<")";
23 return out;
24 }
25 int main()
26 {
27 Complex c1(5,4),c2(2,10),c3;
28 cout<<"c1="<<c1<<endl;
29 cout<<"c2="<<c2<<endl;
30 c3=c1-c2;
31 cout<<"c3=c1-c2="<<c3<<endl;
32 c3=c1+c2;
33 cout<<"c3=c1+c2="<<c3<<endl;
34 return 0;
35 }