题目内容:
阅读下面的程序,在空白处填写出程序运行后的结果。
#include<iostream.h>
class complex
{
float real,imag,
public:
complex(float r,float i){real=r;imag=i;}
complex(){real=O; imag=O;}
void print();
friend complex operator+(complex a,complex b);
friend complex operator一(complex a,complex b);
friend complex operator‘(complex a,complex b);
friend complex operator/(complex a,complex b);
}
void complex::print()
{
cout<<real:
if(imag>O)cout<<”+”;
if(imag!:0) cout<<imag<<”i”<<endl;
}
complex operator+(complex a,complex b)
{
complex temp;
temp.real=a.real+b.real;
temp.imag=a.imag+b.imag;
return temp;
}
complex operator-(complex a,complex b)
{
complex temp ;
temp.real=a.real-b.real;
temp.imag=a.imag-b.imag;
return temp;
}
complex operator *(complex a,complex b)
{
complex temp;
temp.real:a.real*b.real-a.imag *b.imag;
temp.imag=a.real *b.imag+a.imag *b.real;
return temp;
}
complex operator/(complex a,complex b)
{
complex temp;
float tt;
tt=l/(b.real‘b.real+b.imag。b.imag);
temp.real=(a.real*b.real+a.imag*b.imag)*tt;
temp.imag=(b.real*a.imag-a.real*b.imag)*tt;
return temp;
}
void main()
{
complex c1(2.3,4.6),c2(3.6,2.8),c3;
c1.print();
c2.print();
c3=c1+c2;
c3.print();
c3=c1-c2;
c3.print();
c3=c1*c2 ;
c3.print();
c3=c1/c2;
c3.print();
}
程序运行结果为:
2.3+4.6i
3.6+2.8i
(1)
(2)
(3)
(4) 参考答案:
答案解析: