第八周任务一(3)

来源:互联网 发布:自动记账软件 编辑:程序博客网 时间:2024/05/29 08:05
#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,double x);friend Complex operator+(double x,Complex &c1);friend Complex operator-(Complex &c1,Complex &c2);friend Complex operator-(Complex &c1,double x);friend Complex operator-(double x,Complex &c1);friend Complex operator*(Complex &c1,Complex &c2);friend Complex operator*(Complex &c1,double x);friend Complex operator*(double x,Complex &c1);friend Complex operator/(Complex &c1,Complex &c2);friend Complex operator/(Complex &c1,double x);friend Complex operator/(double x,Complex &c1);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,double x)                         //实数在后{return Complex (c1.real + x ,c1.imag);}Complex operator+(double x,Complex &c1)                         //实数在前{return Complex (c1.real + x ,c1.imag);}Complex operator-(Complex &c1,Complex &c2){return Complex (c1.real - c2.real,c1.imag - c2.imag);}Complex operator-(Complex &c1,double x)                          //实数在后{return Complex (c1.real - x,c1.imag);}Complex operator-(double x,Complex &c1)                         //实数在前{return Complex (x - c1.real,c1.imag);}Complex operator*(Complex &c1,Complex &c2){Complex c;c.real = c1.real * c2.real - c1.imag * c2.imag;c.imag = c1.real * c2.imag + c1.imag * c2.real;return c;}Complex operator*(Complex &c1,double x)                         //实数在后{Complex c;c.real = x * c1.real;c.imag = x * c1.imag;return c;}Complex operator*(double x,Complex &c1)                         //实数在前{Complex c;    c.real = x * c1.real;c.imag = x * c1.imag;return c;}Complex operator/(Complex &c1,Complex &c2){Complex c;c.real = (c1.real * c2.real + c1.imag * c2.imag)/(c2.imag * c2.imag + c2.real * c2.real);    c.imag = (c1.imag * c2.real - c1.real * c2.imag)/(c2.imag * c2.imag + c2.real * c2.real);return c;}Complex operator/(Complex &c1,double x)                         //实数在后{Complex c;c.real = c1.real / x;    c.imag = c1.imag / x;return c;}Complex operator/(double x,Complex &c1)                         //实数在前{Complex c;c.real = c1.real / x;    c.imag = c1.imag / x;return c;}void Complex::display(){cout << "(" << real << "," << imag << "i)" << endl;}int main(){double x = 4;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();cout << endl;c3=x+c1;cout << "4+c1 = ";c3.display();c3=x+c1;cout << "c1+4 = ";c3.display();c3=x-c1;cout << "4-c1 = ";c3.display();c3=c1-x;cout << "c1-4 = ";c3.display();c3=x*c1;cout << "4*c1 = ";c3.display();c3=x*c1;cout << "c1*4 = ";c3.display();c3=x/c1;cout << "4/c1 = ";c3.display();c3=x/c1;cout << "c1/4 = ";c3.display();system("pause");return 0;}

原创粉丝点击