C++多态,运算符重载>>和<<的问题。

class Complex

{

public:

Complex(double r=0,double
i=0);

Complex operator +(const Complex
&c);

Complex operator -(const Complex
&c);

friend ostream
&operator<<(ostream &os,Complex &com);

friend istream
&operator>>(istream &is,Complex &com);

void Display();

private:

double real;

double imag;

};

int main()

{

Complex c1,c2,c3;

cin>>c1>>c2;

cout<<"("<<c1<<")+"<<"("<<c2<<")=";

c3=c1+c2;

cout<<c3<<endl;

cout<<"("<<c1<<")-"<<"("<<c2<<")=";

c3=c1-c2;

cout<<c3<<endl;

return 0;

}

大神们,帮忙写一下 friend ostream &operator<<(ostream &os,Complex &com);和friend istream &operator>>(istream &is,Complex &com);别的不用写。。谢了!!

friend ostream &operator<<(ostream &os,Complex &com)
{
    os << "com.real : " << com.real << "com.imag : " << com.imag;
    return os;
}
friend istream &operator>>(istream &is,Complex &com)
{
    is >> com.real;
    is >> com.imag;
    return is;
}

温馨提示:答案为网友推荐,仅供参考
相似回答