重载流提取运算符

 1 #include <iostream>
 2 
 3 /* run this program using the console pauser or add your own getch, system("pause") or input loop */
 4 using namespace std;
 5 class Complex
 6 {
 7     public:
 8         friend ostream&operator<<(ostream&,Complex&);
 9         friend istream&operator>>(istream&,Complex&);
10     private:
11     double real;
12     double imag;
13 };
14 
15 ostream& operator <<(ostream&output,Complex&c)
16 {
17     output<<"("<<c.real<<"+"<<c.imag<<"i)";
18     return output;
19 }
20 
21 istream& operator >>(istream&input,Complex&c)
22 {
23     cout<<"input real part and imaginary part of complex number:";
24     input>>c.real>>c.imag;
25     return input;
26 }
27 int main(int argc, char** argv) {
28     Complex c1,c2;
29     cin>>c1>>c2;
30     cout<<"c1="<<c1<<endl;
31     cout<<"c2="<<c2<<endl;
32     return 0;
33 }

 

posted @ 2018-08-02 10:02  borter  阅读(235)  评论(0编辑  收藏  举报