定义一个复数类Complex,重载运算符“+”、“-”、“*”和“/”,使之能用于复数的加、减、乘和除。

运算符重载函数作为Complex类的成员函数。编写程序,分别求两个复数的和、差、积和商... 运算符重载函数作为Complex类的成员函数。编写程序,分别求两个复数的和、差、积和商 展开
 我来答
zhousunchun
推荐于2017-10-05
知道答主
回答量:34
采纳率:0%
帮助的人:18.8万
展开全部

#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 &c2);

Complex operator -(Complex &c2);

Complex operator *(Complex &c2);

Complex operator /(Complex &c2);

void display();

void set();

private:

double real;

double imag;

};


Complex Complex::operator +(Complex &c2)

{

Complex c;

c.real=real+c2.real;

c.imag=imag+c2.imag;

return c;


Complex Complex::operator -(Complex &c2)

{

Complex c;

c.real=real-c2.real;

c.imag=imag-c2.imag;

return c ;

Complex Complex::operator *(Complex &c2)

{

Complex c;

c.real=real*c2.real-imag*c2.imag;

c.imag=real*c2.imag+imag*c2.real;

return c;

}      

Complex Complex::operator /(Complex &c2)

{

Complex c;

c.real=(real*c2.real+imag*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag);

c.imag=(imag*c2.real-real*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag);

return c;


void Complex::set()

{

cout<<"input real=";cin>>real;

cout<<"  imag=";cin>>imag;

}

void Complex::display()

{

    cout<<"("<<real<<","<<imag<<"i)"<<endl;

}  


int main()

{

Complex c1,c2,c3,c4,c5,c6;

c1.set();

c2.set();

c3=c1+c2;

c4=c1-c2;

c5=c1*c2;

c6=c1/c2;

cout<<"c1=";c1.display();

cout<<"c2=";c2.display();

cout<<"c1+c2=";c3.display();

cout<<"c1-c2=";c4.display();

cout<<"c1*c2=";c5.display();

cout<<"c1/c2=";c6.display();

return 0;

}                                                                                   

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我已经匿名了
2013-05-09 · TA获得超过816个赞
知道小有建树答主
回答量:478
采纳率:0%
帮助的人:250万
展开全部

同学,你只需要在度娘或百度文库上输入“C++中的复数类”后回车,即可找到你要的。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ry_x
2013-05-09 · TA获得超过941个赞
知道小有建树答主
回答量:1095
采纳率:0%
帮助的人:739万
展开全部
#include <complex>
^ ^
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
问明6E
高粉答主

2019-05-30 · 每个回答都超有意思的
知道答主
回答量:279
采纳率:100%
帮助的人:13.2万
展开全部

#include&lt;iostream&gt;

using namespace std;

class Complex

{

public:

Complex(){real=0;imag=0;}//默认构造函数

Complex(double r,double i){real=r;imag=i;}//构造函数

Complex operator+(Complex&);//定义重载运算符+函数

Complex operator-(Complex&);//定义重载运算符-函数

Complex operator*(Complex&);//定义重载运算符*函数

Complex operator/(Complex&);//定义重载运算符/函数

void display();//定义成员函数displayprivate:,double real;double imag;,};

//以下四个函数分别是重载+、-、*、/

Complex Complex::operator+(Complex&c){

return Complex(real+c.real,imag+c.imag);}

Complex Complex::operator-(Complex&c){

return Complex(real-c.real,imag-c.imag);}

Complex Complex::operator*(Complex&c){

return Complex(real*c.real,imag*c.imag);}

Complex Complex::operator/(Complex&c){

return Complex(real/c.real,imag/c.imag);}

//display函数

void Complex::display(){cout&lt;&lt;"("&lt;&lt;real;if(imag&gt;=0)cout&lt;&lt;"+";

cout&lt;&lt;imag&lt;&lt;"i)"&lt;&lt;endl;}int main(){

Complex c1(4.4,5),c2(4,-10),c3;//定义三个Complex对象c1,c2,c3,c1和c2有默认值

c3=c1+c2;c3.display();c3=c1-c2;c3.display();c3=c1*c2;c3.display();c3=c1/c2;c3.display();

system("pause");return 0;}

扩展资料:

return表示把程序流程从被调函数转向主调函数并把表达式的值带回主调函数,实现函数值的返回,返回时可附带一个返回值,由return后面的参数指定。

return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的。如果函数执行不需要返回计算结果,也经常需要返回一个状态码来表示函数执行的顺利与否(-1和0就是最常用的状态码),主调函数可以通过返回值判断被调函数的执行情况。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
直铺侔仁送涎炊c5bc3
2013-05-09 · 超过19用户采纳过TA的回答
知道答主
回答量:97
采纳率:0%
帮助的人:48.3万
展开全部
好好看一下,运算符的重载,挺简单的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式