01./* 02.* 程式的著作權和版本聲明部分 03.* Copyright (c)2013, 煙台大學電腦學院學生 04.* All rightsreserved. 5.* 檔案名稱: complex.cpp 06.* 作 者:趙冠哲 07.* 完成日期:2013年4月19日 08.* 版本號碼: v1.0 09.* 輸入描述: 10.* 問題描述: 11.*/#include <iostream>using namespace std;class Complex{public:Complex(){real=0;imag=0;}Complex(double r,double i){real=r;imag=i;}friend Complex operator+(Complex &c1,Complex &c2);friend Complex operator-(Complex &c1,Complex &c2);friend Complex operator*(Complex &c1,Complex &c2);friend Complex operator/(Complex &c1,Complex &c2);void display(); private:double real;double imag;};Complex operator+(Complex &c1,Complex &c2){ return Complex(c1.real+c2.real,c1.imag+c2.imag);}Complex operator-(Complex &c1,Complex &c2){ return Complex(c1.real-c2.real,c2.imag-c2.imag);}Complex operator*(Complex &c1,Complex &c2){ Complex c; c.real=c1.real*c2.real-c1.imag*c2.imag; c.imag=c1.imag*c2.real+c1.imag*c2.imag; return c;}Complex operator/(Complex &c1,Complex &c2){ Complex c; c.real=(c1.real*c2.real+c1.imag*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag); c.imag=(c1.imag*c2.real-c1.real*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag); return c;}void Complex::display(){ cout<<"("<<real<<","<<imag<<"i)"<<endl;}int main(){Complex c1(3,4),c2(5,-10),c3;cout<<"c1=";c1.display();cout<<"c2=";c2.display();c3=c1+c2;cout<<"c1+c2=";c3.display();c3=c1-c2;cout<<"c1-c2=";c3.display();c3=c1*c2;cout<<"c1*c2=";c3.display();c3=c1/c2;cout<<"c1/c2=";c3.display();return 0;}
運行結果: