补偿;... cout<< c;
重载的 operator<< 函数返回一个引用。在这种情况下,它在哪里退回或由谁收集。返回引用的目的是什么?
class comp
{
int re,im;
public: comp(){re=0;im=0;}
comp(int a,int b){re=a;im=b;}
void show(){cout<<"\n"<<im<<"+i"<<re<<"\n\n";}
comp operator *(comp a)
{
comp temp;
temp.re=(re+a.re) - (im*a.im);
temp.im=(im*a.re) + (re*a.im);
return temp;
}
friend ostream & operator<<(ostream& dout,complex & )
};
ostream& operator << (ostream &dout, comp &a)
{
dout<< a.re;
dout<< "+i";
dout<<a.im;
return dout;
}
int main()
{
comp a(1,2),b(2,3),c;
c=a*b;
c.show();
cout<< c;
return 0;
}