重载流提取运算符
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 }