面向?qū)ο蟪绦蛟O(shè)計(jì)復(fù)習(xí)_第1頁
面向?qū)ο蟪绦蛟O(shè)計(jì)復(fù)習(xí)_第2頁
面向?qū)ο蟪绦蛟O(shè)計(jì)復(fù)習(xí)_第3頁
面向?qū)ο蟪绦蛟O(shè)計(jì)復(fù)習(xí)_第4頁
面向?qū)ο蟪绦蛟O(shè)計(jì)復(fù)習(xí)_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、面向?qū)ο蟪绦蛟O(shè)計(jì)復(fù)習(xí)面向?qū)ο蟪绦蛟O(shè)計(jì)復(fù)習(xí)面向?qū)ο蟮娜筇卣鳎悍庋b、繼承、多態(tài)Chap5?內(nèi)聯(lián)函數(shù)p91:inline?內(nèi)聯(lián)函數(shù)的作用:提高效率?重載函數(shù):-什么是重載函數(shù)p94-重載函數(shù)的匹配規(guī)則p93?默認(rèn)參數(shù)(允許有重載函數(shù))P963Chap9引用?引用的概念p186(必須得初始化)?引用傳遞參數(shù)P189(P193例子看懂)?引用作為返回值和值返回之間的區(qū)別(P193例9.6)?P203練習(xí)9.29.3第11章?類和對(duì)象的定義P233234class和struct的區(qū)別,默認(rèn)的訪問控制屬性類的定義:class關(guān)鍵字或struct關(guān)鍵字對(duì)象的定義:類名對(duì)象名-不要關(guān)鍵字?定義成員函數(shù)的方法類

2、內(nèi)定義p237類外定義§作用域操作符:可用在類內(nèi)部,可以訪問全局變量(同名覆蓋的問題)在局部范圍中聲明與外部范圍變量同名的變量時(shí),局部范圍中的變量掩蓋外部變量例1:doubleA;voidmain()intA;A=5;/assigns5tointA例2:doubleA;/globalvariableAvoidmain()intA;/localvariableAA=5;/assigns5tolocalintA:A=2.5;/assigns5toglobaldoubleAChap12構(gòu)造函數(shù)(是一種用于創(chuàng)建對(duì)象特殊的成員函數(shù)當(dāng)創(chuàng)建對(duì)象時(shí),系統(tǒng)自動(dòng)調(diào)用構(gòu)造函數(shù),不能在程序中直接調(diào)用 構(gòu)造函

3、數(shù)的作用是:為對(duì)象分配空間;對(duì)數(shù)據(jù)成員賦初值;請(qǐng)求其他資源 構(gòu)造函數(shù)是必須的。當(dāng)沒有用戶定義的構(gòu)造函數(shù)時(shí),系統(tǒng)提供缺省版本的構(gòu)造函數(shù) 系統(tǒng)缺省版本的構(gòu)造函數(shù)做公共初始化工作;用戶提供版本的構(gòu)造函數(shù)做用戶要求的初始化工作 構(gòu)造函數(shù)名與類名相同 一個(gè)類可以擁有多個(gè)構(gòu)造函數(shù)(重載)林勾造函數(shù)可以有任意類型的參數(shù),但不能具有返回類型析構(gòu)函數(shù),析構(gòu)函數(shù)是用于取消對(duì)象成員函數(shù)當(dāng)一個(gè)對(duì)象作用域結(jié)束時(shí),系統(tǒng)自動(dòng)調(diào)用析構(gòu)函數(shù) 析構(gòu)函數(shù)的作用是進(jìn)行清除對(duì)象,釋放內(nèi)存等 析構(gòu)函數(shù)是必須的。沒有用戶定義析構(gòu)函數(shù)時(shí),系統(tǒng)提供缺省版本的析構(gòu)函數(shù) 系統(tǒng)缺省版本的析構(gòu)函數(shù)做公共善后工作;用戶提供版本的析構(gòu)函數(shù)做用戶要求的善后

4、工作 析構(gòu)函數(shù)名為:類名 析構(gòu)函數(shù)沒有參數(shù),也沒有返回類型 析構(gòu)函數(shù)以調(diào)用構(gòu)造函數(shù)相反的順序被調(diào)用。構(gòu)造函數(shù)(可重載)、析構(gòu)函數(shù)(不可重載)和重載之間的關(guān)系吶嵌對(duì)象的構(gòu)造函數(shù)(含參數(shù)的情況)P281例12.12 冒號(hào)語法的使用:可以用來初始化常量和引用P283嫉勾造對(duì)象的使用p2851,2chap14唯的使用P312<new和delete運(yùn)算符啦貝構(gòu)造函數(shù)的使用:3種情況以及例子峨拷貝和深拷貝的概念P321例14.4P327練習(xí)14.2chap15(無大題,小題多)?靜態(tài)成員(靜態(tài)數(shù)據(jù)函數(shù)可以訪問非靜態(tài)數(shù)據(jù)成員)- 靜態(tài)數(shù)據(jù)成員:聲明和初始化位置(類的成員函數(shù)聲明部分)- 靜態(tài)成員函數(shù):

5、直接訪問靜態(tài)數(shù)據(jù)成員,可以間接訪問非靜態(tài)數(shù)據(jù)成員classXintmember;public:staticvoidfunc(inti,Xa)cout<<a.member;:靜態(tài)成員函數(shù)和非靜態(tài)的區(qū)別(this 指針)p341友元的概念(不是類的成員函數(shù))chap16苕儂承的概念,派生類的定義,派生類的構(gòu)造函數(shù)心強(qiáng)承的方式啰態(tài)性和虛函數(shù)以及2者之間的關(guān)系確函數(shù)的限制:p363名屯虛函數(shù)和抽象類- 純虛函數(shù)的定義嫄值兼容規(guī)則三種繼承方式的基類、派生類和派生類對(duì)象特性繼承方式公有繼承私有繼承保護(hù)繼承基類特性派生類特性派生類對(duì)象publicpublic可以訪問protectedprotec

6、ted,可訪問private小可訪問,可訪問publicprivate,、可訪問protectedprivate,可訪問private小可訪問,可訪問publicprotected,可訪問protectedprotected,可訪問private小可訪問,、可訪問虛函數(shù)哪類的定義中,在函數(shù)原型之前寫virtual。virtual只用來說明類定義中的原型,不能用在函數(shù)實(shí)現(xiàn)時(shí)。虛函數(shù)是動(dòng)態(tài)聯(lián)編的基礎(chǔ)。娓非靜態(tài)的成員函數(shù)。有繼承性,基類中定義了虛函數(shù),派生類中無論是否說明,同原型函數(shù)都自動(dòng)為虛函數(shù)。本質(zhì):不是重載定義而是覆蓋定義。硼用方式:通過基類指針或引用,執(zhí)行時(shí)會(huì)根據(jù)指針指向的對(duì)象的類,決定調(diào)用

7、哪個(gè)函數(shù)。港態(tài)聯(lián)編和動(dòng)態(tài)聯(lián)編-聯(lián)編的階段-聯(lián)便的實(shí)現(xiàn)呦態(tài)聯(lián)編只能通過指針或引用標(biāo)識(shí)對(duì)象來操作虛函數(shù)。如果采用一般類型的標(biāo)識(shí)對(duì)象來操作虛函數(shù),則將采用靜態(tài)聯(lián)編方式調(diào)用虛函數(shù)。呦態(tài)聯(lián)編,虛函數(shù)和多態(tài)性之間的關(guān)系Chap17名繼承的造順序(P387(1)(2)(3)(4)幡擬繼承(虛基類)-二義性問題心強(qiáng)承的訪問控制多繼承的構(gòu)造順序class派生類名:繼承方式1基類名1,繼承方式2基類名2,.成員定義;注意:每一個(gè)“繼承方式”,只用于限制對(duì)緊隨其后之基類的繼承。多繼承的構(gòu)造順序(1)調(diào)用基類構(gòu)造函數(shù),調(diào)用順序按照它們被繼承時(shí)聲明的順序(從左向右)。(2)調(diào)用對(duì)象成員的構(gòu)造函數(shù),調(diào)用順序按照它們?cè)陬愔?/p>

8、聲明的順序。(3)派生類的構(gòu)造函數(shù)體中的內(nèi)容。(4)析構(gòu)函數(shù)調(diào)用次序與構(gòu)造函數(shù)相反?!旧险n時(shí)用的例子】虛基類?虛基類的引入-當(dāng)一個(gè)派生類是從多個(gè)基類派生而這些基類又有一個(gè)公共的基類?定義-以virtual修飾說明基類例:classB1:virtualpublicB?作用-主要用來解決多繼承時(shí)可能發(fā)生的對(duì)同一基類繼承多次而產(chǎn)生的二義性問題Chap18?運(yùn)算符重載的含義和格式若一運(yùn)算符的操作需要修改類對(duì)象狀態(tài)時(shí),則它應(yīng)該是成員函數(shù),定義成友員時(shí)要用引用參數(shù)。如果運(yùn)算符的操作數(shù)(尤其是第一個(gè)操作數(shù))希望有隱式轉(zhuǎn)換,則重載算符時(shí)必須用友員函數(shù)不能用友員函數(shù)重載的運(yùn)算符是=()口>?前增量和后增量

9、的區(qū)別?賦值運(yùn)算符的“淺拷貝”和“深拷貝”?類型轉(zhuǎn)換?轉(zhuǎn)換運(yùn)算符P408?構(gòu)造函數(shù)P414練習(xí)18.118.2重載+和-C語言中,運(yùn)算符+和-有兩種方式(P405)前綴方式:+i;-i;一元成員函數(shù)重載:aa.operator+();友員函數(shù)重載:operator+(X&aa)/其中aa是X類的對(duì)象后綴方式:i+;i-;二元成員函數(shù)重載:aa.operator+(int);友員函數(shù)重載:operator+(X&aa,int)這時(shí),第二個(gè)參數(shù)(int)一般設(shè)置為0例如:i+;等價(jià)于i+(0)Chap19?I/O標(biāo)準(zhǔn)流類(標(biāo)準(zhǔn)流,文件流,串流哪幾個(gè)是預(yù)定義流?)?常用控制符(簡單的

10、控制符及作用P422)chap20?模板的概念?函數(shù)模板、模板函數(shù)?類模板、模板類(函數(shù)模板與類模板的區(qū)別?)?模板的定義?模板的參數(shù)?模板的使用P450練習(xí)20.1Chap21異常處理的實(shí)現(xiàn)P45374.8#include<iostream.h>voidmain()for(inti=1;i<=10;i+)for(intj=1;j<=10-i;j+)cout<<""for(intj=1;j<=2*i-1;j+)cout<<"#"cout<<endl;4.8(2)#include<io

11、stream.h>voidmain()for(inti=1;i<=8;i+)for(intj=1;j<=i;j+)cout<<""for(intj=1;j<=18-i;j+)cout<<"#"cout<<endl;9.2#include<iostream.h>#include<stdlib.h>int&put(intn);/putvalueintothearrayintget(intn);/obtainavaluefromthearrayintvals10;int

12、error=-1;voidmain()put(0)=10;/putvaluesintothearrayput(1)=20;put(9)=30;cout<<get(0)<<endl;cout<<get(1)<<endl;cout<<get(9)<<endl;put(12)=1;/outofrange/.int&put(intn)if(n>=10)cerr<<"rangeerrorinputvalue!n"exit(1);returnvalsn;18.2#include<ti

13、me.h>#include<iostream.h>#include<string.h>#include<stdlib.h>classTimepublic:Time(char*s=NULL);voidoperator+(Time&ti);voidoperator-(Time&ti);voidDisplay。;protected:inthour;intminute;intsecond;Time:Time(char*s)charstr9=0;chart3=0;ifstrncpy(str,s,8);else_strtime(str);hour=

14、atoi(strncpy(t,str,2)%24;minute=atoi(strncpy(t,&str3,2)%60;second=atoi(strncpy(t,&str6,2)%60;voidTime:operator+(Time&ti)intst;st=second+ti.second;second=(st)%60;st=st/60+minute+ti.minute;minute=(st)%60;st=st/60+hour+ti.hour;hour=(st)%24;voidTime:operator-(Time&ti)intst;st=60+second-t

15、i.second;second=st%60;st=60+st/60+minute-ti.minute-1;minute=st%60;st=24+st/60+hour-ti.hour-1;hour=(st)%24;voidTime:Display()charresult9="XX:XX:XX"result0='0'+hour%10;result1='0'+hour/10;result3='0'+minute%10;result4='0'+minute/10;result6='0'+second%10;result7='0'+second/10;cout<<result<<endl;voidmain()Timea;Timeb("02:15:30");a+b;a.Display();20.1#include<iostream.h>

溫馨提示

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

評(píng)論

0/150

提交評(píng)論