复数类

来源:互联网 发布:手机性能测评软件 编辑:程序博客网 时间:2024/09/21 08:53
#include <iostream>using namespace std;class Complex{public:Complex(){real=0;imag=0;}Complex(double r,double i){real=r;imag=i;}Complex operator+(Complex &c);Complex operator-(Complex &c);Complex operator*(Complex &c);Complex operator/(Complex &c);void display();private:double real;double imag;};Complex Complex::operator+(Complex &c){Complex a;a.real=real+c.real;a.imag=imag+c.imag;return a;}Complex Complex::operator-(Complex &c){Complex a;a.real=real-c.real;a.imag=imag-c.imag;return a;}Complex Complex::operator*(Complex &c)//复数相乘:(a+bi)(c+di)=(ac-bd)+(bc+ad)i.  {Complex a;      a.real=real*c.real-imag*c.imag;      a.imag=imag*c.real+real*c.imag;      return a; }Complex Complex::operator/(Complex &c)//复数相除:(a+bi)/(c+di)=(ac+bd)/(c^2+d^2) +(bc-ad)/(c^2+d^2)i {Complex a;      a.real=(real*c.real+imag*c.imag)/(c.real*c.real+c.imag*c.imag);      a.imag=(imag*c.real-real*c.imag)/(c.real*c.real+c.imag*c.imag);      return c;  }void Complex::display(){cout<<"("<<real<<","<<imag<<")"<<endl;}int main(){Complex a(3,4),b(5,-10),c;cout<<"a=";a.display();cout<<"b=";b.display();c=a+b;cout<<"a+b=";c.display();c=a-b;cout<<"a-b=";c.display();c=a*b;cout<<"a*b=";c.display();c=a/b;cout<<"a/b=";c.display();return 0;}

0 0
原创粉丝点击