首頁考試吧論壇Exam8視線考試商城網(wǎng)絡(luò)課程模擬考試考友錄實用文檔求職招聘論文下載
2014中考
法律碩士
2014高考
MBA考試
2014考研
MPA考試
在職研
中科院
考研培訓(xùn) 自學(xué)考試 成人高考
四 六 級
GRE考試
攻碩英語
零起點日語
職稱英語
口譯筆譯
申碩英語
零起點韓語
商務(wù)英語
日語等級
GMAT考試
公共英語
職稱日語
新概念英語
專四專八
博思考試
零起點英語
托?荚
托業(yè)考試
零起點法語
雅思考試
成人英語三級
零起點德語
等級考試
華為認證
水平考試
Java認證
職稱計算機 微軟認證 思科認證 Oracle認證 Linux認證
公 務(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)評估師
審計師考試
高級會計師
注冊稅務(wù)師
國際內(nèi)審師
理財規(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í) 作文大全 求職招聘 論文下載 訪談|游戲
計算機等級考試
您現(xiàn)在的位置: 考試吧 > 計算機等級考試 > 計算機二級考試 > C加加 > 復(fù)習(xí)資料 > 正文

2014年計算機二級C++考點歸納:運算符重載

查看匯總:2014年計算機二級C++考點歸納

  8.1 運算符函數(shù)據(jù)與運算符重載

  運算符重載是計算機語言固有多態(tài)性的體現(xiàn),是構(gòu)成計算機語言的基礎(chǔ)之一。

  C++把重載的運算符視為特殊的函數(shù),稱為運算符函數(shù)。運算符重載就是函數(shù)重載的一種特殊情況。像對待一般重載函數(shù)一樣,編譯系統(tǒng)能夠依據(jù)使用運算符的不同環(huán)境,即參數(shù)(操作數(shù))的數(shù)量或類型的差異,區(qū)分同一運算符的不同含義。

  “運算符重載”是針對C++中原有運算符進行的,不可能通過重載創(chuàng)造出新的運算符。除了.、.*、->*、::、?:這五個運算符外,其他運算符都可以重載。由于很多符號是一元運算符和二元運算符公用的,為了避免含混,不得為重載的運算符函數(shù)設(shè)置默認值,調(diào)用時也就不得省略實參。

  除了new和delete這兩個較為特殊運算符以外,任何運算符如果作為成員函數(shù)重載時不得重載為靜態(tài)函數(shù)。=、[ ]、()、->以及所有的類型轉(zhuǎn)換運算符只能作為成員函數(shù)重載,而且不能是針對枚舉類型操作數(shù)的重載。

  運算符函數(shù)的函數(shù)名是由運算符前加關(guān)鍵字operator構(gòu)成的,在聲明運算符或調(diào)用運算符時都可以用這個名稱。

  8.2 典范運算符的重載

  1關(guān)于分?jǐn)?shù)類fraction

  fraction的聲明和定義包含在頭文件fraction.h和程序文件fraction.cpp中。

  一個標(biāo)準(zhǔn)的用fraction表示的分?jǐn)?shù)須滿足以下復(fù)印件:

 、俜帜赣肋h為正,分?jǐn)?shù)和符號用分子表示;

 、诜肿臃帜富ベ|(zhì),即總表示為最簡分?jǐn)?shù)。

  fraction通過兩個私有數(shù)據(jù)成員num和den分別保存分子和分母,并在必要時調(diào)用standardize函數(shù)進行標(biāo)準(zhǔn)化處理,以使num和den的值滿足標(biāo)準(zhǔn)分?jǐn)?shù)的條件。gcd是求兩個整數(shù)的最大公約數(shù)的函數(shù),standardize在化簡分?jǐn)?shù)時要調(diào)用它。

  2重載取負運算符“-”

  因為fraction用分子的符號代表整個分?jǐn)?shù)的符號,因此所謂“取負”只需對分子num取負就可以了。由于取負運算符“-”是一元運算符,當(dāng)作為成員函數(shù)重載時參數(shù)表中沒有參數(shù),那個唯一的操作數(shù)以this指針的形式隱藏在參數(shù)表中。為此,只需要在fraction.h的類聲明中增加:

  fraction poerator -()const { return fraction(-num,den);}

  就可以了。由于在類聲明中直接給出了完整定義,因此是一個inline函數(shù)。

  “-”是一個典型的一元運算符,除++、--外的其他一元運算符的重載都可以參考這里描述的方法。

  3重載加法運算符“+”

  “ +”是一個二元運算符,因此作為成員函數(shù)重載時參數(shù)表中只有一個參數(shù),對應(yīng)于第二操作數(shù),而第一操作數(shù)就是對象本身,僅以this指針的形式隱藏在參靈敏表中。

  “+”是一個典型的二元運算符,除賦值類運算符外的其他二元運算符的重載都可以參考這里描述的方法。

1 2 3 4 下一頁

編輯推薦:

2014年上半年計算機等級考試報名時間預(yù)告

2014年計算機等級考試考試時間預(yù)測

2013年9月計算機等級考試成績查詢時間及方式預(yù)告

文章責(zé)編:wuchong  
看了本文的網(wǎng)友還看了
文章搜索
計算機等級考試欄目導(dǎo)航
版權(quán)聲明:如果計算機等級考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系800@exam8.com,我們將會及時處理。如轉(zhuǎn)載本計算機等級考試網(wǎng)內(nèi)容,請注明出處。