C++运算符重载实现复数类的加减乘除

//(1) 定义实现一个复数类,要求完成得数的求反、加减、乘、除、求模、自加及自减等运算,并测试之。
#include
#include
#include

using namespace std;


class Complex
{
public:double real,imaginary;
public:
Complex(double re,double im):real(re),imaginary(im)
{}
Complex()
{real=0;imaginary=0;}
Complex operator+(Complex);
Complex operator-(Complex);
Complex operator*(Complex);
Complex operator/(Complex);
double getmode();
Complex operator++();
Complex operator--();
};
Complex Complex::operator+(Complex obj)
{
real+=obj.real;
imaginary+=obj.imaginary;
return *this;
//Complex temp;
//temp.real+=obj.real;
//temp.imaginary+=obj.imaginary;
//return temp;
}
Complex Complex::operator-(Complex obj)
{
real-=obj.real;
imaginary-=obj.imaginary;
return *this;
}
Complex Complex::operator*(Complex obj)
{
real*=obj.real;
imaginary*=obj.imaginary;
return *this;
}
Complex Complex::operator/(Complex obj)
{
real/=obj.real;
imaginary/=obj.imaginary;
return *this;
}
double Complex::getmode()
{
double pp;
pp=pow((real*real+imaginary*imaginary),0.5);
return pp;
}
Complex Complex::operator++()
{
real++;;
imaginary++;
return *this;
}
Complex Complex::operator--()
{
real--;
imaginary--;
return *this;
}

int main(int argc, char *argv[])
{
int flag=1;
int command=0;
Complex demo1;
Complex demo2;
cout<<"********************复数类测试********************"<cout<<"*****************-1-初使化一个复数****************"<cout<<"*****************-2-加****************************"<cout<<"*****************-3-减****************************"<cout<<"*****************-4-乘****************************"<cout<<"*****************-5-除****************************"<cout<<"*****************-6-自加**************************"<cout<<"*****************-7-自减**************************"<cout<<"*****************-8-退出**************************"<while (flag)
{
cout<<"请输入一个命令:";
cin>>command;
switch (command)
{
case 1:
cout<<"请输入一个复数,先输入复数的实部,再输入虚部:";
cin>>demo1.real;
cin>>demo1.imaginary;
break;
case 2:
cout<<"请输入一个加数,先输入复数的实部,再输入虚部:";
cin>>demo2.real;
cin>>demo2.imaginary;
demo1=demo1+demo2;
break;
case 3:
cout<<"请输入一个减数,先输入复数的实部,再输入虚部:";

cin>>demo2.real;
cin>>demo2.imaginary;
demo1=demo1-demo2;
break;
case 4:
cout<<"请输入一个乘数,先输入复数的实部,再输入虚部:";
cin>>demo2.real;
cin>>demo2.imaginary;
demo1=demo1*demo2;
break;
case 5:
cout<<"请输入一个除数,先输入复数的实部,再输入虚部:";
cin>>demo2.real;
cin>>demo2.imaginary;
demo1=demo1/demo2;
break;
case 6:
++demo1;
break;
case 7:
--demo1;
break;
case 8:
flag=0;
break;
default:break;
}
cout<<"现在复数是:"<}
system("PAUSE");
return EXIT_SUCCESS;
}

相关文档
最新文档