




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
類之前的內容:1、C語言與C++■ C++是由C語言發(fā)展而來,對C兼容C—結構化語言,面向過程C++—面向對象C++包含了C,C是C++的基礎,C所寫的程序在C++環(huán)境中是完全可用的。C++語言包括過程性語言和類部分;過程性語言部分與C并無本質的差別。C++既可用于基于過程的結構化程序設計,又可用于面向對象的程序設計。C是過程性語言,它沒有類部分。2、內聯(lián)函數(shù)內聯(lián)函數(shù)主要解決程序的運行效率。使用關鍵字inline將函數(shù)聲明為內聯(lián)函數(shù)。3、函數(shù)的重載c++允許用同一函數(shù)名定義多個函數(shù),而這些函數(shù)的參數(shù)個數(shù)或參數(shù)類型可以不相同,這就是函數(shù)的重載。4、函數(shù)模板函數(shù)模板:即一個通用函數(shù),其函數(shù)類型和形參類型不具體指定,用一個虛擬類型來代替。函數(shù)模板的定義格式:template<typenameT>或template<classT>5、有默認參數(shù)(參數(shù)缺省值)的函數(shù)C++中可以為函數(shù)參數(shù)設置缺省值。實參的個數(shù)與形參不一致,比形參少,這樣可以在形參中設置默認值。在函數(shù)中有多個參數(shù)(形參)時,沒有缺省值的參數(shù)在參數(shù)表的左邊,有缺省值的參數(shù)只能在右邊出現(xiàn)!在函數(shù)定義與函數(shù)聲明同時存在時,缺省值只能夠在函數(shù)聲明中出現(xiàn)!6、const型指針常指針(指針常量):指針本身的值是一個常量,即指向不能改變。聲明格式:例如,intr=6;int*constpr=&r;指針變量所指向變量的值可以改變,如*pr=8;程序中不能出現(xiàn)諸如p=的語句。7、變量的引用■對變量起另外一個名字(外號),這個名字稱為該變量的引用。■變量和變量的引用在內存中占用同一地址。■其中原變量名必須是一個已定義過的變量。如:intmax=10;int&refmax二max;refmax=20貝Umax+refmax=40??8、new與deletenew:■利用new運算符可以在程序中動態(tài)開辟內存空間。delete:■使用delete運算符回收new開辟的存儲空間。■用new開辟的內存單元如果程序不“主動”收回,那么這段空間就一直存在,直到重新開機為止第2章:類和對象1、面向對象的特征:封裝、抽象、繼承、多態(tài)2、類■類是一種復雜的數(shù)據(jù)類型,它是將不同類型的數(shù)據(jù)和與這些數(shù)據(jù)相關的操作封裝在一起的集合體。即包含:數(shù)據(jù)成員和成員函數(shù)。類是一種抽象的數(shù)據(jù)類型,因此,在類中不能對數(shù)據(jù)成員初始化。類的成員限定符三種:private,protected,public,默認為private類的成員函數(shù)一般指定為public,它們是類的對外接口。類的成員函數(shù)既可以在類內實現(xiàn),也可以在類外實現(xiàn)。注:若在類體外實現(xiàn),需要使用作用域運算符::,用它來標識某個成員函數(shù)是屬于哪個類的,此時需要在函數(shù)名前面加上類名,另外,在類體內必須有函數(shù)聲明部分。3、對象只有在定義了屬于類的變量后,系統(tǒng)才會為類的變量分配空間。類的變量我們稱之為對象?!鰧ο笫穷惖膶嵗x對象之前,一定要先說明該對象的類。4、對象的使用■通過對象名和成員運算符訪問對象中的成員,用“.”運算符。格式:對象名.數(shù)據(jù)成員或對象名.成員函數(shù)(參數(shù)表)注:用成員選擇運算符“.”只能訪問對象的公有成員5、對象所占的存儲空間■由其數(shù)據(jù)成員決定,成員函數(shù)不屬于任何一個對象。第3章:一、 構造函數(shù):用來實現(xiàn)數(shù)據(jù)成員的初始化1、構造函數(shù)是類的成員函數(shù),一般聲明為public,系統(tǒng)約定構造函數(shù)名必須與類名相同。構造函數(shù)提供了初始化對象的一種簡單的方法。2、構造函數(shù)可以有參,也可以無參。3、構造函數(shù)可以在類內定義,也可在類外定義。4、在定義構造函數(shù)時,不能指定函數(shù)返回值的類型,也不能指定為void類型。5、構造函數(shù)的重載在一個類中可以定義多個構造函數(shù),這些構造函數(shù)具有相同的名字,而參數(shù)的個數(shù)或參數(shù)的類型不相同,這稱為構造函數(shù)的重載。6、使用默認參數(shù)的構造函數(shù)注意:在聲明構造函數(shù)時指定默認值。在類中,若定義了沒有參數(shù)的構造函數(shù),或各參數(shù)均有缺省值的構造函數(shù)也稱為默認的構造函數(shù),默認的構造函數(shù)只能有一個。產生對象時,系統(tǒng)必定要調用構造函數(shù)。所以任一對象的構造函數(shù)必須唯一。二、析構函數(shù)1、析構函數(shù)的作用與構造函數(shù)正好相反,是在對象的生命期結束時,釋放系統(tǒng)為對象所分配的空間,即要撤消一個對象。2、析構函數(shù)是一個特殊的成員函數(shù),函數(shù)名必須與類名相同,并在其前面加上字符“?”以便和構造函數(shù)名相區(qū)別。3、析構函數(shù)不能帶有任何參數(shù),不能有返回值,不指定函數(shù)類型。4、一個類中,只能定義一個析構函數(shù),析構函數(shù)不允許重載。5、調用構造函數(shù)和析構函數(shù)的順序?只在主函數(shù)中定義對象時,先構造的后析構,后構造的先析構。三、 共用數(shù)據(jù)的保護const常成員函數(shù)定義格式:類型函數(shù)名 (形參表)constconst是函數(shù)類型的一部分,在聲明函數(shù)原型和定義函數(shù)時都要用const關鍵字。const是函數(shù)類型的一個組成部分,因此在函數(shù)的實現(xiàn)部分也要使用關鍵字const。四、靜態(tài)成員(1)類外定義(2)用static修飾的成員(3)靜態(tài)成員屬于類成員,開辟一份存儲空間,供所有對象共享,不屬于任何一個對象,所有對象都能對其操作。靜態(tài)成員函數(shù)(1)如何定義:加static(2)非靜態(tài)成員函數(shù)可以訪問:靜態(tài)成員與非靜態(tài)成員。(3)靜態(tài)成員函數(shù)只能訪問靜態(tài)成員。友元1、友元函數(shù)將普通函數(shù)聲明為友元函數(shù)其特點是能夠訪問類中私有成員和保護成員,即類的訪問權限的限制對其不起作用。友元函數(shù)可以在類內實現(xiàn),也可以在類外實現(xiàn),需要在前面加上關鍵字friend。在類外實現(xiàn)時,需要在類體內進行說明,一般格式為:friend<type>FuncName(<args>);例:friendfloatVolume(A&a);友元函數(shù)不是成員函數(shù),用法也與普通的函數(shù)完全一致,只不過它能訪問類中所有的數(shù)據(jù)。2、友元類一個類可以定義為另一個類的友元。第4章一、派生類的構成1、不僅包括所繼承的基類成員,還包括派生類自己新添加的成員。2、聲明派生類的一般形式為:class派生類名:[繼承方式]基類名(派生類新增加的成員};3、有三種繼承方式:公有繼承、保護繼承、私有繼承。默認為私有繼承。二、派生類成員的訪問屬性(詳細內容看課件)1、公有派生class派生類名:public基類名公有派生時,基類中公有成員和保護成員在派生類中保持各個成員的訪問權限,私有成員仍為基類私有?;惓蓡T屬性派生類中派生類外公有可以引用可以引用保護可以引用不可引用私有不可引用不可引用2、私有派生class派生類名:private基類名私有派生時,基類中公有成員和保護成員在派生類中均變?yōu)樗接械?,在派生類中仍可直接使用這些成員,基類中的私有成員,在派生類中不可直接使用?;惓蓡T屬性派生類派生類外公有可以引用不可引用保護可以引用小可引用私有小白引用小白引用3、保護派生class派生類名:protected基類名保護派生時,基類中公有成員和保護成員在派生類中均變?yōu)楸Wo的,在派生類中仍可直接使用這些成員,基類中的私有成員,在派生類中不可直接使用。基類成員屬性派生類減生類外公有可以引用不可引用保護可以引用小可引用私有小叫引用小可引用三、派生類的構造函數(shù)和析構函數(shù)1、簡單的派生類的構造函數(shù)派生類構造函數(shù)一般形式為:派生類構造函數(shù)名(總參數(shù)表):基類構造函數(shù)名(參數(shù)表)(派生類中新增數(shù)據(jù)成員初始化語句)注意:在繼承的情況下,基類含參構造初始化只能在子類構造函數(shù)的參數(shù)初始化表中進行。在建立一個對象時,執(zhí)行構造函數(shù)的順序是:派生類構造函數(shù)先調用基類構造函數(shù),再執(zhí)行派生類構造函數(shù)本身。(派生類構造函數(shù)的函數(shù)體)在派生類對象釋放時,執(zhí)行析構函數(shù)的順序是先執(zhí)行派生類析構函數(shù),再執(zhí)行其基類析構函數(shù)派生類構造函數(shù)的定義中可以省略對基類構造函數(shù)的調用,其條件是在基類中必須有默認的構造函數(shù)或者根本沒有定義構造函數(shù)。?2、有子對象的派生類的構造函數(shù)定義有子對象的派生類構造函數(shù)的一般形式為:派生類構造函數(shù)名(總參數(shù)表):基類構造函數(shù)名(參數(shù)表),子對象名(參數(shù)表)(派生類中新增數(shù)據(jù)成員初始化語句)基類構造函數(shù)和子對象的次序可以是任意的,但是調用構造函數(shù)的次序是不變的。執(zhí)行派生類構造函數(shù)的順序是:先調用基類構造函數(shù),對基類數(shù)據(jù)成員初始化;再調用子對象構造函數(shù),對子對象數(shù)據(jù)成員初始化;然后執(zhí)行派生類構造函數(shù)本身,對派生類數(shù)據(jù)成員初始化;四、多重繼承派生類的構成1、格式class類名:<Access>類名1,…,<Access>類名nprivate: ……; 〃私有成員說明;public: ……; 〃公有成員說明;protected: ……; 〃保護的成員說明;);例:classD:publicA,protectedB,privateC{ ….//派生類中新增加成員 );五、多重繼承派生類的構造函數(shù)和析構函數(shù)簡單的派生類的構造函數(shù)?格式如下:派生類構造函數(shù)名(總參數(shù)表):基類1構造函數(shù)名(參數(shù)表),基類2構造函數(shù)名(參數(shù)表){派生類中新增數(shù)據(jù)成員初始化語句)?派生類構造函數(shù)的執(zhí)行順序先調用基類的構造函數(shù),再執(zhí)行派生類構造函數(shù)的函數(shù)體。調用基類構造函數(shù)的順序是按照聲明派生類時基類出現(xiàn)的順序。2、有子對象的派生類的構造函數(shù)跟單繼承類似。3、支配原則當基類和派生類的成員(數(shù)據(jù)成員和成員函數(shù))名字相同時,且都為public權限,當用派生類對象訪問時,則優(yōu)先調用派生類中的成員。六、虛基類1、在多重派生的過程中,若使公共基類在派生類中只有一個拷貝,則可將這種基類說明為虛基類。2、在直接派生類的定義中,只要在基類的類名前加上關鍵字virtual,就可以將基類說明為虛基類。第5章運算符重載重載為類的成員函數(shù)1、對于只有一個操作數(shù)的運算符(如++、--),在重載這種運算符時,通常不能有參數(shù),稱為單目運算符重載。(1)++為前置運算時,它的運算符重載函數(shù)的一般格式為:<type>operator++(){ ……;)(2)++為后置運算時,它的運算符重載函數(shù)的一般格式為:<type>operator++(int){ ……;)2、不是所有的運算符都能重載,大家可以看書。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 住宅室內裝修合同
- 三農村基層法治建設與實踐方案
- 模板安裝施工方案
- 建筑施工工程承包合同條例
- 鋪筑施工方案
- 洗手間防水卷材的施工方案
- 《大數(shù)據(jù)技術導論》-教案
- 安徽省宿州市靈璧縣2024-2025學年上學期八年級數(shù)學期末試卷(原卷版+解析版)
- 自貢賓館消防施工方案
- 年產1000噸微生物菌劑項目環(huán)評報告表
- 廣電和通信設備調試工(高級)理論考試復習題庫(含答案)
- 產房應急預案及流程
- 泉州市中學生五祖拳健身操教案
- 培智三年級生活數(shù)學(下)教學計劃
- 【MOOC】現(xiàn)代郵政英語(English for Modern Postal Service)-南京郵電大學 中國大學慕課MOOC答案
- 巨量千川營銷師(初級)認證考試復習題庫(含答案)
- 2024解析:第十章 浮力、阿基米德原理及其應用-基礎練(解析版)
- 2019年山東省普通高校招生春季考試英語試題
- 假性動脈瘤護理
- QC小組診斷師培訓班考試試卷含部分答案
- 部編版(2024)三年級道德與法治上冊第12課《生活離不開規(guī)則》教學課件
評論
0/150
提交評論