已有一个复数类,x和y分别代表实部与虚部

来源:百度知道 编辑:UC知道 时间:2024/05/15 13:29:23
已有一个复数类,x和y分别代表实部与虚部。该类只支持加法(add)和乘法(multiply)计算,要求创建一个MyComplexNumber类,扩充该类的功能如下:1、增加求虚部的模(magnitude)的功能。2、复数的减法(minus)计算。3、原来的toString方法得到的复数表示是{3.5,12.81}的形式,要求在新的类里修改为3.5+12.81i

题目讲得不太清晰喔
1.基类的构造函数参数列表是怎样的?
假设为Complex(double xx=0,double yy=0)
2.应该是求复数的模吧?

需要包含头文件cmath

class MyComplexNumber:public Complex
{
public:
MyComplexNumber(double xx=0,double yy=0);
double magnitude();
MyComplexNumber& minus(const MyComplexNumber &m);
void toString() const;
};
MyComplexNumber::MyComplexNumber(double xx,double yy):Complex(xx,yy)
{
}
double MyComplexNumber::magnitude()
{
return sqrt(x*x+y*y);
}
MyComplexNumber& minus(const MyComplexNumber &m)
{
MyComplexNumber* temp=new MyComplexNumber(x-m.x,y-x.y);
return *temp;
}
void MyComplexNumber::toString const
{
cout<<x;
if(y>=0)
cout<<"+"<<y<<"i"<<endl;
else
cout<<y<<"i"<<endl;
}

亩知~!

还没学到这里 等我学会了 在告诉你虾