friend ostream& operator << (ostream& os,complex& c);
敬请高手详细讲解一下此处的 << 重载的原理,不胜感激!
(现手头资料太少,给点资料也好)
class complex{
public:
complex(){Re=Im=0;}
complex& operator= (complex& ob){Re=ob.Re;Im=ob.Im;}
complex& operator+ (complex& ob);
friend ostream& operator << (ostream& os,complex& c); //此处
private:
double Re,Im;
};
friend ostream & operator << (ostream& os,complex& c){
return os<<ob.Re<<(ob.Im>=0.0)?"+":"-"<<fabs(ob.Im)<<"i";
}
(1)用friend 的好处是?主要为了解决什么问题?
(2)参数为什么是:ostream& os,complex& c ?
(3)这一句 return os<<ob.Re<<(ob.Im>=0.0)?"+":"-"<<fabs(ob.Im)<<"i"; 里面的os<<ob.Re如何理解?
再次感谢!