C++如何定义一个复数类,并支持四则运算

定义复数类支持四则运算... 定义复数类支持四则运算 展开
 我来答
草原上之狼
高粉答主

2018-12-14 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.9万
采纳率:93%
帮助的人:4004万
展开全部
#include<iostream.h>
class complex
{
private:
double real;
double imag;
public:
complex()
{
real=imag=0;
}
complex(double rpart,double ipart)
{
real=rpart;
imag=ipart;
}

complex operator+(const complex &com)
{
complex temp;
temp.real=real+com.real;
temp.imag=imag+com.imag;
return temp;
}

complex operator-(const complex &com)
{
complex temp;
temp.real=real-com.real;
temp.imag=imag-com.imag;
return temp;
}
complex operator*(const complex &com)
{
complex temp;
temp.real=real*com.real-imag*com.imag;
temp.imag=real*com.imag+imag*com.real;
return temp;
}
complex operator/(const complex &com)
{
complex temp;
temp.real=(real*com.real+imag*com.imag)/(com.real*com.real+com.imag*com.imag);
temp.imag=(imag*com.real-real*com.imag)/(com.real*com.real+com.imag*com.imag);
return temp;
}

void display()
{
if(imag>=0)
cout<<"("<<real<<"+"<<imag<<"i)";
else
cout<<"("<<real<<imag<<"i)";
}
};

int main(void)
{
double a,b,c,d;
cout<<"输入两个复数,即a,b,c,d的值:";
cin>>a>>b>>c>>d;
complex n1(a,b),n2(c,d);
cout<<"两个复数值为:";
cout<<"A=";
n1.display();
cout<<" B=";
n2.display();
cout<<endl;

cout<<endl<<endl<<"两个复数的加法:"<<endl;
complex result1;
result1=n1+n2;
n1.display();
cout<<"+";
n2.display();
cout<<"=";
result1.display();

cout<<endl<<endl<<"两个复数的减法:"<<endl;
complex result2;
result2=n1-n2;
n1.display();
cout<<"-";
n2.display();
cout<<"=";
result2.display();

cout<<endl<<endl<<"两个复数的乘法:"<<endl;
complex result3;
result3=n1*n2;
n1.display();
cout<<"×";
n2.display();
cout<<"=";
result3.display();

cout<<endl<<endl<<"两个复数的除法:"<<endl;
if(c==0&&d==0)
cout<<"不能进行运算,除数不能为0"<<endl;
else
{
complex result4;
result4=n1/n2;
n1.display();
cout<<"÷";
n2.display();
cout<<"=";
result4.display();
}
cout<<endl;
return 0;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式