C++重载流插入运算符与流提取运算符
生活随笔
收集整理的這篇文章主要介紹了
C++重载流插入运算符与流提取运算符
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
C++重載流插入運算符與流提取運算符
1.1 "<<" 流插入運算符,">>"流提取運算符。 1.2對“<<”和“>>”重載的函數的形式如下: istream & operator >> (istream &,自定義的類&); ostream & operator << (ostream &,自定義的類&); 即重載運算符的第一個參數和函數類型必須是istream或者ostream類型的,第二個參數是要操作的類。 這是為了能連續的輸入和輸出。 1.3只能重載"<<"和">>"作為友元函數或者普通函數,而不能將他們定義為成員函數。(因為<<和>>的左邊必須是ostream或者istream而成員函數不可以了) 1.4代碼參考 #include <iostream> using namespace std; class Complex { public: Complex(){real=0;image=0;} Complex(int r,int i):real(r),image(i){} Complex operator + (Complex &c); Complex(int r){real=r;image=0;} friend ostream& operator << (ostream& output,Complex& c); friend istream& operator >> (istream& input,Complex& i); private: int image,real; }; Complex Complex::operator +(Complex &c) { return Complex(c.real+real,c.image+image); } ostream& operator << (ostream& output,Complex& c) { output << "(" << c.real << "+" << c.image << "i" << ")" << endl; return output; } istream& operator >> (istream& input,Complex& i) { cout << "please input real and image" ; input >> i.real >> i.image; return input; } int main() { Complex c1,c2; Complex c3(1); cin >> c1 >> c2; cout << c1+c2 << endl; cout << c3 << endl; return 0; }總結
以上是生活随笔為你收集整理的C++重载流插入运算符与流提取运算符的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: idea的总部_雷普索尔- YPF总部
- 下一篇: mysql hugepage_因未配置H