在线现看午夜福利片|女人16久久免费视频|鲁丝片一区鲁丝片二区鲁丝|一区二区三区欧美在线

  1. 
    
    <b id="glvx9"></b>
        1. <blockquote id="glvx9"><meter id="glvx9"></meter></blockquote>
            首頁 - 網(wǎng)校 - 萬題庫 - 直播 - 雄鷹 - 團購 - 書城 - 模考 - 學(xué)習(xí)通 - 導(dǎo)航 - 510 -
            首頁考試吧網(wǎng)校萬題庫直播雄鷹510團購書城?論壇實用文檔作文大全寶寶起名
            2015中考
            法律碩士
            2015高考
            MBA考試
            2015考研
            MPA考試
            在職研
            中科院
            考研培訓(xùn)
            專升本
            自學(xué)考試 成人高考
            四 六 級
            GRE考試
            攻碩英語
            零起點日語
            職稱英語
            口譯筆譯
            申碩英語
            零起點韓語
            商務(wù)英語
            日語等級
            GMAT考試
            公共英語
            職稱日語
            新概念英語
            專四專八
            博思考試
            零起點英語
            托?荚
            托業(yè)考試
            零起點法語
            雅思考試
            成人英語三級
            零起點德語
            等級考試
            華為認(rèn)證
            水平考試
            Java認(rèn)證
            職稱計算機 微軟認(rèn)證 思科認(rèn)證 Oracle認(rèn)證 Linux認(rèn)證
            公 務(wù) 員
            導(dǎo)游考試
            物 流 師
            出版資格
            單 證 員
            報 關(guān) 員
            外 銷 員
            價格鑒證
            網(wǎng)絡(luò)編輯
            駕 駛 員
            報檢員
            法律顧問
            管理咨詢
            企業(yè)培訓(xùn)
            社會工作者
            銀行從業(yè)
            教師資格
            營養(yǎng)師
            保險從業(yè)
            普 通 話
            證券從業(yè)
            跟 單 員
            秘書資格
            電子商務(wù)
            期貨考試
            國際商務(wù)
            心理咨詢
            營 銷 師
            司法考試
            國際貨運代理人
            人力資源管理師
            廣告師職業(yè)水平
            衛(wèi)生資格 執(zhí)業(yè)醫(yī)師 執(zhí)業(yè)藥師 執(zhí)業(yè)護士
            會計從業(yè)資格
            基金從業(yè)資格
            統(tǒng)計從業(yè)資格
            經(jīng)濟師
            精算師
            統(tǒng)計師
            會計職稱
            法律顧問
            ACCA考試
            初級會計職稱
            資產(chǎn)評估師
            高級經(jīng)濟師
            注冊會計師
            高級會計師
            美國注冊會計師
            審計師考試
            國際內(nèi)審師
            注冊稅務(wù)師
            理財規(guī)劃師
            一級建造師
            安全工程師
            設(shè)備監(jiān)理師
            公路監(jiān)理師
            公路造價師
            二級建造師
            招標(biāo)師考試
            物業(yè)管理師
            電氣工程師
            建筑師考試
            造價工程師
            注冊測繪師
            質(zhì)量工程師
            巖土工程師
            注冊給排水
            造價員考試
            注冊計量師
            環(huán)保工程師
            化工工程師
            暖通工程師
            咨詢工程師
            結(jié)構(gòu)工程師
            城市規(guī)劃師
            材料員考試
            消防工程師
            監(jiān)理工程師
            房地產(chǎn)估價
            土地估價師
            安全評價師
            房地產(chǎn)經(jīng)紀(jì)人
            投資項目管理師
            環(huán)境影響評價師
            土地登記代理人
            寶寶起名
            繽紛校園
            實用文檔
            入黨申請
            英語學(xué)習(xí)
            思想?yún)R報
            作文大全
            工作總結(jié)
            求職招聘 論文下載 直播課堂
            您現(xiàn)在的位置: 考試吧 > 計算機等級考試 > 計算機二級考試 > C加加 > 復(fù)習(xí)資料 > 正文

            2015年國家計算機二級C++考試復(fù)習(xí)資料(10)

            考試吧整理了“2015年國家計算機二級C++考試復(fù)習(xí)資料”,提供給各位考生備考,更多考試資料請持續(xù)關(guān)注考試吧計算機等級考試頻道!

              點擊查看:2015年國家計算機二級C 考試復(fù)習(xí)資料匯總

              二級C++輔導(dǎo)筆記:重載雙目運算符

              在(五)我們已經(jīng)介紹了重載賦值運算符,這里就不重新說明了。

              一。作為類成員函數(shù)的重載

              為了能進行類對象和一個整型值的加法運算,需要寫一個類的成員函數(shù)來重載雙目加法(+)運算符。該函數(shù)在類中的聲明如下:

              Date operator + (int) const;

              函數(shù)的聲明指出,返回值是一個Date類對象,函數(shù)名是運算符+,只有一個整型參數(shù),而且函數(shù)是常量型的。當(dāng)編譯器發(fā)現(xiàn)某個函數(shù)以加上前綴operator的真實運算符作為函數(shù)名,就會把該函數(shù)當(dāng)作重載運算符函數(shù)來處理。如果在表達(dá)式中,該運算符的左邊是一個類對象,右邊是一個參數(shù)類型的一個對象,那么重載運算符函數(shù)就會被調(diào)用。調(diào)用形式如下:

              Date dt(6,9,2005);

              dt=dt+100;

              也可以顯式的調(diào)用重載運算符函數(shù):

              dt.operator + (100);

              下面代碼重載了雙目加法運算符來計算一個整數(shù)和一個Date類對象之和,并且返回Date類對象。

              #include iostream.h

              class Date

              {

              int mo,da,yr;

              static int dys[];

              public:

              Date(int m=0,int d=0,int y=0)

              { mo=m; da=d; yr=y;}

              void display() const

              { cout < Date operator + (int) const;

              };

              int Date::dys[]={31,28,31,30,31,30,31,31,30,31,30,31};

              Date Date::operator+(int) const

              {

              Date dt=*this;

              n+=dt.da;

              while(n >=dys[dt.mo-1])

              {

              n-=dys[dt.mo-1];

              if(++dt.da==13)

              {

              dt.mo=1;

              dt,yr++;

              }

              }

              dt.da=n;

              return dt;

              }

              int main()

              {

              Date olddate(1,1,2005);

              Date newdate;

              newdate=olddate+100;

              newdate.display();

              return 0;

              }

              二。非類成員的運算符重載

              在重載運算符的原則中說到,要保持運算符的可交換性。而上面的程序只允許Date類對象在運算符的左邊而整型值在右邊,不支持下面的語句:

              Date newdate=100+olddate;

              所以,僅僅靠一個類的成員重載運算符是無法實現(xiàn)上面功能的。對重載雙目運算符的類成員函數(shù)來說,總是認(rèn)定調(diào)用函數(shù)的對象位于運算符左邊。不過,我們可以再寫一個非類成員的重載運算符函數(shù),可以規(guī)定Date類的對象在運算符右邊,而別的類型在運算符左邊。例如,我們可以這樣在類的外部定義一個函數(shù):

              Date operator + (int n,Date & dt)

              下面代碼在原先的基礎(chǔ)上增加了一個非類成員函數(shù)來實現(xiàn)雙目加法運算符的重載。

              #include iostream.h

              class Date

              {

              int mo,da,yr;

              static int dys[];

              public:

              Date(int m=0,int d=0,int y=0)

              { mo=m; da=d; yr=y;}

              void display() const

              { cout < Date operator + (int) const;

              };

              int Date::dys[]={31,28,31,30,31,30,31,31,30,31,30,31};

              Date Date::operator+(int) const

              {

              Date dt=*this;

              n+=dt.da;

              while(n >=dys[dt.mo-1])

              {

              n-=dys[dt.mo-1];

              if(++dt.da==13)

              {

              dt.mo=1;

              dt,yr++;

              }

              }

              dt.da=n;

              return dt;

              }

              Date operator + (int n,Date & dt)

              {

              return dt+n;

              }

              int main()

              {

              Date olddate(1,1,2005);

              Date newdate;

              newdate=olddate+100;

              newdate.display();

              return 0;

              }

              上面的例子中非類成員重載運算符函數(shù)調(diào)用了類中的重載+運算符來實現(xiàn)加法運算。如果類當(dāng)中沒有提供這樣的函數(shù),那么非類成員的重載運算符函數(shù)將被迫訪問類的私有數(shù)據(jù)來實現(xiàn)加法運算。這樣的話,需要把這個函數(shù)聲明為類的友元,如下:

              class Date

              {

              friend Date operator + (int n,Date &);

              };

              上例中重載運算符函數(shù)聲明了全部兩個參數(shù),這是因為它不是類的成員,因此它不能作為類的成員函數(shù)被調(diào)用,就缺少了一個隱含的參數(shù)。

              第一個重載加法運算符函數(shù)也可以用類的友元函數(shù)來實現(xiàn)。作為一種約定,這通常把所有為類重載的運算符都設(shè)定為該類的友元。

              例子中只給出了重載加法的代碼,我們同樣可以來重載減法,乘除法等等。

              三。重載關(guān)系運算符

              如果想要對兩個日期進行比較,比如出現(xiàn)下面這樣的代碼:

              if(olddate 可以向上面用類似的方法重載關(guān)系運算符

              #include iostream.h

              class Date

              {

              int mo,da,yr;

              public:

              Date(int m=0,int d=0,int y=0)

              { mo=m; da=d; yr=y;}

              void display() const

              { cout < int operator == (Date& dt) const;

              int operator < (Date& dt) const;

              };

              int Date::operator== (Date & dt) const

              {

              return (this- >mo==dt.mo && this->da==dt.da && this->yr==dt.yr);

              }

              int Date::operator < (Date& dt) const

              {

              if(this- >yr == dt.yr)

              {

              if(this- >mo == dt.mo) return this->da < dt.da;

              return this- >mo < dt.mo;

              }

              return this- >yr < dt.yr;

              }

              int main()

              {

              Date date1(2,14,2005);

              Date date2(6,9,2005);

              Date date3(2,14,2005);

              if(date1 {

              date1.display();

              cout < date2.display();

              }

              cout < if(date1==date3)

              {

              date1.display();

              cout < date3.display();

              }

              return 0;

              }

              可以類似的重載其他關(guān)系運算符,如!=

              int operator != (Date & dt) { return !(*this==dt);}

              四。其他賦值運算符

              #include iostream.h

              class Date

              {

              int mo,da,yr;

              static int dys[];

              public:

              Date(int m=0,int d=0,int y=0)

              { mo=m; da=d; yr=y;}

              void display() const

              { cout < Date operator + (int) const;

              Date operator +=(int)

              { *this=*this+n; return *this;}

              };

              int Date::dys[]={31,28,31,30,31,30,31,31,30,31,30,31};

              Date Date::operator+(int) const

              {

              Date dt=*this;

              n+=dt.da;

              while(n >=dys[dt.mo-1])

              {

              n-=dys[dt.mo-1];

              if(++dt.da==13)

              {

              dt.mo=1;

              dt,yr++;

              }

              }

              dt.da=n;

              return dt;

              }

              int main()

              {

              Date olddate(1,1,2005);

              olddate+=100;

              olddate.display();

              return 0;

              }

              相關(guān)推薦:

              各地2015年計算機等級考試報名時間匯總

              各地2015年上半年計算機等級考試費用匯總

              2015年計算機二級C++模擬練習(xí)題及答案匯總

            文章搜索
            計算機等級考試欄目導(dǎo)航
            版權(quán)聲明:如果計算機等級考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系800@exam8.com,我們將會及時處理。如轉(zhuǎn)載本計算機等級考試網(wǎng)內(nèi)容,請注明出處。
            Copyright © 2004- 考試吧計算機等級考試網(wǎng) All Rights Reserved 
            中國科學(xué)院研究生院權(quán)威支持(北京) 電 話:010-62168566 傳 真:010-62192699