永发信息网

C++复数类的设计

答案:2  悬赏:0  手机版
解决时间 2021-01-26 00:36
  • 提问者网友:了了无期
  • 2021-01-25 20:15
题目要求: 设计一个复数类,并实现相关的功能。 具体要求如下: (1) 该复数类的类名按照如下格式来写: class QHW_complex 其中QHW表示每个学生自己的姓名每个字的首字母,QHW表示这是某某某同学的考试卷; (2) 该复数类中必须有相应的构造函数、拷贝构造函数、析构函数;并设计相应的成员函数实现复数的加减乘除四则运算; (3) 整个程序设计必须按照多文件结构来设计; (4) 整个程序在设计过程中,必须要有相应的输入输出提示语句,在程序运行时,可以让使用者得到明确的提示,比如,提示需要输入哪些数据,提示怎样选择去做那种运算,提示运算输出的结果是什么,等等; 整个程序设计,最终以两个类型的结果体现出来. 题目就是这样,,急求高手帮忙,谢谢
最佳答案
  • 五星知识达人网友:梦中风几里
  • 2021-01-25 21:21
分文件会的吧 记得不要重复包含 你用我下面程序改改就行了,以前写的 #include 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(); 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 = imag * c2.real + real * c2.imag; 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::display() { cout<< "(" << real << "," << imag << "i)" <全部回答
  • 1楼网友:煞尾
  • 2021-01-25 23:00
class complexnumber { double m_drealpart,m_dimaginpart; complexnumber()//构造函数,将实部虚部置0 { m_drealpart=0; m_dimaginpart=0; } complexnumber(double r, double i)//构造函数,创建复数对象的同时完成复数的实部虚部的初始化,r为实部,i为虚部。 { m_drealpart=r; m_dimaginpart=i; } double getrealpart()//获得实部 { return m_drealpart; } double gerimaginarypart()//获得虚部 { return m_dimaginpart; } void setrealpart(double d)//置实部为d { m_drealpart=d; } void setimaginarypart(double d)//置虚部为d { m_dimaginpart=d; } complexnumber complexadd(complexnumber c)//当前复数与形参复数相加,将结果返回方法调用者。 { m_drealpart+=c.m_drealpart; m_dimaginpart+=c.m_dimaginpart; return this; } complexnumber complexadd(double c)//当前复数与形参实数相加,结果返回给方法调用者。 { m_drealpart+=c; return this; } complexnumber complexminus(complexnumber c)//当前复数与形参复数相减,结果返回方法调用者。 { m_drealpart-=c.m_drealpart; m_dimaginpart-=c.m_dimaginpart; return this; } complexnumber complexminus(double c)//当前复数与形参实数相减,结果返回给方法调用者。 { m_drealpart-=c; return this; } complexnumber complexmulti(complexnumber c)//当前复数与形参复数相乘,结果返回方法调用者。 { double tempreal,tempimagin; tempreal=m_drealpart; tempimagin=m_dimaginpart; m_drealpart=tempreal*c.m_drealpart-tempimagin*c.m_dimaginpart; m_dimaginpart=tempreal*c.m_dimaginpart+tempimagin*c.m_drealpart; return this; } string tostring()//把当前复数对象的实部虚部组合成a+bi的字符串形式。 { return m_drealpart+"+"+m_dimaginpart+"i"; } } 还没调试,应该是可以用的
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯