C++ 輸入、輸出運算子多載

來源:互聯網
上載者:User

標籤:c++   執行個體   需要   iostream   輸入   一點   cin   ios   出名字   

C++ 能夠使用流提取運算子 >> 和流插入運算子 << 來輸入和輸出內建的資料類型。我們可以重載流提取運算子和流插入運算子來操作對象等使用者自訂的資料類型。

在這裡,有一點很重要,我們需要把運算子多載函式宣告為類的友元函數,這樣我們就能不用建立對象而直接調用函數。
下面的執行個體示範了如何重載提取運算子 >> 和插入運算子 <<。

#include <iostream>using namespace std;class Person{public:    Person(const char *str) : name(str){}        int GetAge(){        return this->age;    }        /* 聲明為類的友元函數 */    friend ostream& operator<<(ostream& output, Person &p){        output << p.name << endl;        return output;    }        friend istream& operator>>(istream& input, Person &p){        input >> p.age;        return input;    }    private:    const char *name;    int age;};int main(){    Person p("Tom");        /* 重載輸出名字 */    cout << p;        /* 重載輸入年齡 */    cin >> p;        /* 輸出年齡 */    cout << p.GetAge() << endl;        return 0;}

C++ 輸入、輸出運算子多載

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.