譚浩強《C++面向對象程序設計》知識點總結_第1頁
譚浩強《C++面向對象程序設計》知識點總結_第2頁
譚浩強《C++面向對象程序設計》知識點總結_第3頁
譚浩強《C++面向對象程序設計》知識點總結_第4頁
譚浩強《C++面向對象程序設計》知識點總結_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

譚浩強《C++面向對象程序設計》知識點總結1C++初步知識C++的輸入輸出輸入:采用標準輸入流對象istream和提取運算符cin>>輸出:采用標準輸出流對象ostream和插入運算符cout<<1.2函數(shù)的重載一名多用,要求重載函數(shù)的參數(shù)個數(shù)或類型與原來的不同1.3函數(shù)模板給功能相似的函數(shù)建立一個統(tǒng)一的模板要求:函數(shù)的參數(shù)個數(shù)和原來的要相同格式:template<typenameT>通用函數(shù)定義1.4變量的引用相當于給變量起一個別名,變量和其引用共享同一內存空間a;int&b=a;//聲明b是一個int型變量a的引用121.5字符串變量String類1.6動態(tài)分配/撤銷內存:new和delete格式:new類型(初值)//返回一個指向數(shù)據(jù)類型的指針new類型[num]//new一個含有num個元素的類型數(shù)組delete[]指針變量//[]表示對數(shù)組空間操作,可選1232類和對象的特性及使用2.1對象包含作為屬性的數(shù)據(jù)成員和作為行為的成員函數(shù),成員函數(shù)用來對數(shù)據(jù)進行操作,以便實現(xiàn)某些功能。2.2面向過程程序設計VS面向對象程序設計面向過程程序設計:程序=數(shù)據(jù)結構+算法面向對象程序設計:對象=數(shù)據(jù)結構+算法,程序=對象s+消息2.3面向對象程序設計的四個主要特征抽象:將有關事物歸納集中,作用是表示同一類事物的本質。類是對象的抽象,而對象是類的具體表現(xiàn)形式。封裝:將數(shù)據(jù)和操作數(shù)據(jù)的函數(shù)綁定在一起,將具體的實現(xiàn)細節(jié)隱藏起來,僅對外保留接口。繼承:利用已有類建立新類,新類從已有類中獲得其已有特性的機制。多態(tài):不同的對象對接收到的同一消息會產(chǎn)生不同的行為的現(xiàn)象(單接口,多實現(xiàn))2.4類的聲明和對象的定義類聲明格式:class類名{private:私有的數(shù)據(jù)和成員函數(shù);public:公用的數(shù)據(jù)和成員函數(shù);};1234567對象定義格式類名對象名;12.5類的成員函數(shù)類成員函數(shù)可訪問本類中的任何成員,一般將需要被外界調用的成員函數(shù)指定為public,它們是類的對外接口對于函數(shù)體較短(三行以內)的成員函數(shù)可在類內聲明和定義,對于一般的成員函數(shù),一般在類內聲明,在類外定義(別忘了加類名和域運算符::)2.6對象成員的引用通過對象名和成員運算符.訪問對象中的成員通過對象的引用和成員運算符.訪問對象中的成員通過指向對象的指針p->訪問對象的成員2.7構造函數(shù)和析構函數(shù)利用構造函數(shù)對對象進行初始化(包括用參數(shù)初始化表)利用析構函數(shù)進行清理等工作構造和析構函數(shù)執(zhí)行的順序:后構造的先析構(類似棧)2.8靜態(tài)數(shù)據(jù)成員能在同類的多個對象之間實現(xiàn)數(shù)據(jù)共享,在內存中只占一份空間。靜態(tài)數(shù)據(jù)成員為類所有,而不是屬于某個對象,因此不能在構造函數(shù)中初始化,只能在類體外初始化。格式:static類型名變量名;12.9友元函數(shù)和友元類用關鍵字friend聲明友元函數(shù)又分兩種,將普通函數(shù)聲明為友元函數(shù)和友元成員函數(shù)2.10類模板是類的抽象,實現(xiàn)一類多用格式:template〈class類型參數(shù)名>類模板聲明123對運算符進行重載3.1運算符重載就是定義一個重載運算符的函數(shù)格式:函數(shù)類型operator運算符(形參表)//"operator運算符"就是運算符重載函數(shù)名{對運算符的重載處理}12重載運算符類型做類成員函數(shù):常用于單目運算符重載做友元函數(shù):常用于雙目運算符重載3.3哪些運算符能進行重載除了以下5種運算符之外,其它運算符一般都能進行重載。不能進行重載的5種運算符:成員訪問運算符.&成員指針訪問運算符.*作用域運算符::&長度運算符sizeof:操作對象是類條件運算符?:3.4重載輸入輸出運算符重載流提取運算符〉〉:istream&operator>>(istream&input,自定義類&)重載流插入運算符〈〈:ostream&operator〈〈(ostream&output,自定義類&)3.5對象和標準數(shù)據(jù)類型的轉換其它數(shù)據(jù)類型-〉類對象:使用轉換構造函數(shù)類對象-〉另一類型數(shù)據(jù):使用類型轉換函數(shù),格式operator要轉換成的類型名{實現(xiàn)轉換的語句}4繼承與派生4.1含義利用已有類(父類,也叫基類)建立新類(子類,也叫派生類),新類從已有類中獲得其已有特性,對父類而言叫派生,對子類而言叫繼承(個人理解)。4.2繼承分類單繼承:一個派生類只從一個基類繼承多重繼承:一個派生類有多個基類4.3基類與派生類的關系派生類是基類的具體化,而基類是派生類的抽象4.4派生類的聲明方式class派生類名:[繼承方式]基類名{派生類新增加的成員}124.5派生類的構成包括從基類繼承過來的成員和自己增加的成員4.6派生類的訪問屬性公有繼承public:基類的公有(public)和保護(protected)成員在派生類中保持原有屬性私有繼承private:基類的公有和保護成員均變成派生類的私有成員(基類的私有成員仍為基類私有,在派生類中不可訪問)保護繼承protected:基類的公有和保護成員均變成派生類的保護成員(介于公有成員和私有成員之間,能被本類和本類的派生類所訪問)4.7組合在一個類中以另一個類的對象作為數(shù)據(jù)成員。組合和繼承都是有效利用已有類的資源,不過繼承是縱向的“是”的關系,組合是橫向的“有''的關系。5多態(tài)性與虛函數(shù)5.1多態(tài)性不同的對象在接收到同一消息時會產(chǎn)生不同的行為(單接口多實現(xiàn)),其中消息指調用函數(shù),不同的行為指不同的實現(xiàn)。分類靜態(tài)(編譯時的)多態(tài)性:通過函數(shù)重載實現(xiàn)動態(tài)(運行時的)多態(tài)性:通過虛函數(shù)實現(xiàn)虛函數(shù)含義用virtual在基類中聲明為虛擬的,在派生類中才正式定義的函數(shù)作用允許在派生類中定義與基類同名的函數(shù),并可通過基類指針或引用來訪問基類和派生類中的同名函數(shù)用法在基類中用virtual聲明虛函數(shù)在派生類中按需重新定義此函數(shù),函數(shù)頭(接口)要保持一樣定義指向基類對象的指針變量,使其按需指向調用該虛函數(shù)的對象通過該指針變量調用此虛函數(shù)5.4關聯(lián)確定調用的具體對象的過程,分靜態(tài)關聯(lián)和動態(tài)關聯(lián)靜態(tài)(早期)關聯(lián):在程序編譯(只作靜態(tài)的語法檢查)時即可確定,如函數(shù)重載、通過對象名調用的虛函數(shù)動態(tài)關聯(lián):在運行階段才能確定關聯(lián)關系,如通過基類指針調用的虛函數(shù)5.5虛析構函數(shù)將基類的析構函數(shù)聲明為虛函數(shù)(能保證在撤銷動態(tài)分配的空間時繼承體系中的各對象能得到正確的處理)5.6純虛函數(shù)和抽象類純虛函數(shù):在聲明虛函數(shù)時被初始化為"0”的函數(shù)(“有名無實”,待派生類定義),一般形式virtual函數(shù)類型函數(shù)名(參數(shù)列表)=0;抽象類:不用來定義對象而是作為一種基本類型用作

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論