C +类输出错误
|
所有代码均正常运行,没有错误,但命令
Setreal()
和Setimag()
下面给出错误的输出。
#include <iostream>
using namespace std;
class complex
{ public:
bool Readcomplex()
{ cout<<\"Enter the real part\"<<endl;
cin>>real;
cout<<\"Enter the imaginary part\"<<endl;
cin>>imag;
return true; };
double Getreal()
{ return real;
};
double Getimag()
{ return imag;
};
double Add(complex c)
{ real=real+c.real;
imag=imag+c.imag;
};
double Setimag(double im)
{ imag=im;
};
double Setreal(double re)
{ real=re;
};
void Multiply(complex c)
{ double x;
x=real*c.real-imag*c.imag;
imag=real*c.imag+imag*c.real;
real=x;
};
private:
double real;
double imag;
};
int main()
{ complex A,B,E,R;
double C,D;
A.Readcomplex();
B.Readcomplex();
cout<<\"The complex no. A is \"<<A.Getreal()<<\"+i\"<<A.Getimag()<<endl;
cout<<\"The complex no. B is \"<<B.Getreal()<<\"+i\"<<B.Getimag()<<endl;
A.Add(B); //Result stored in A.
cout<<\"The complex no. A2 is \"<<A.Getreal()<<\"+i\"<<A.Getimag()<<endl;
cout<<\"Set the real of A\"<<endl;
cin>>C;
cout<<\"and set the imaginary part\"<<endl;
cin>>D;
cout<<\"the new A is\"<<A.Setreal(C)<<\"+i\"<<A.Setimag(D)<<endl; //WRONG OUTPUT
A.Multiply(B);
cout<<\"The complex no. A is \"<<A.Getreal()<<\"+i\"<<A.Getimag()<<endl;
system(\"pause\");
return 0;}
错误的结果是cout<<\"the new A is\"<<A.Setreal(C)<<\"+i\"<<A.Setimag(D)<<endl; //WRONG OUTPUT
,因为结果是1.#QNAN+i1.#QNAN
,而不是像C+iD
那样是C和D的值
没有找到相关结果
已邀请:
2 个回复
泪琉踞檄
诫商
该函数应该返回
类型的内容,但不会...