我有一個班級複雜,我想操作員< <可以打印它的私有變量。朋友操作員<<沒有超載
class complex
{
double re, im;
public:
friend ostream operator <<(ostream &out); // What's wrong?
};
這可能嗎?
friend ostream& operator <<(ostream &out, const complex& obj);
然後,你要實現的功能,可能是這樣的::
ostream& operator <<(ostream &out, const complex& obj)
{
out << obj.re << ";" << obj.im;
return out;
}
'operator <<'是一個二元運算符,您試圖用一個操作數聲明它。超載時,您不能更改C++運算符的組合。您必須正確聲明它爲二元運算符,例如:'friend ostream operator <<(ostream&out,const complex&what_to_output);' –
您的標題說「沒有超載」。任何'operator <<'聲明都是重載。 –