C/C++學習手劄(三)

來源:互聯網
上載者:User

接著說說友員friend和操作符重載operator,為了把這兩個搞清楚,費了大半天勁兒搞了一個堆棧,被一堆積指標問題搞得頭都大了! 不過,最終還是OK了!

這次做這麼一件事,搞體育活動。每個團隊Team 有5個隊員Comperitor ,可以對隊員做入棧、出棧操作,每個隊員有編號、名字。對輸入隊員資訊、輸出隊員資訊做操作符重載,使得輸入的時候能夠給出相應提示。

構建一個隊員類Comperitor

C++代碼

/**
 * 隊員
 */
class Comperitor {
private:
    char name[20]; //姓名
    int id; //編號
public:

    /**
     * 取得ID
     */
    int getId() {
        return id;
    }

    /**
     * 設定ID
     */
    void setId(int id) {
        this->id = id;
    }

    /**
     * 取得名字
     */
    char* getName() {
        return name;
    }

    /**
     * 設定名字
     */
    void setName(char *name) {
        strcpy(this->name, name);
    }

    /**
     * 重載輸入操作符
     */
    friend istream & operator >>(istream & is, Comperitor & c) {
        cout << "請輸入您的編號: ";
        is >> c.id;
        cout << "請輸入您的姓名: ";
        is >> c.name;
        return is;
    }

    /**
     * 重載輸出操作符
     */
    friend ostream & operator <<(ostream & os, Comperitor & c) {
        os << "編號: " << c.id << endl;
        os << "姓名: " << c.name << endl;
        return os;
    }
};

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.