第4學(xué)期重修復(fù)習(xí)提綱-to students_第1頁
第4學(xué)期重修復(fù)習(xí)提綱-to students_第2頁
第4學(xué)期重修復(fù)習(xí)提綱-to students_第3頁
免費(fèi)預(yù)覽已結(jié)束,剩余5頁可下載查看

下載本文檔

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

文檔簡介

1、C+期末復(fù)習(xí)提綱第 8 章1.類和簡單對象類的定義格式。兩類成員和三種權(quán)限。(在程序結(jié)果分析題中,會有各種類的定義,包含說明,需要掌握類的定義格式,能看懂構(gòu)造函數(shù)、析構(gòu)函數(shù)、普通函數(shù)、實(shí)現(xiàn)在類體內(nèi)還是體外;兩類成員分別是數(shù)據(jù)成員和成員函數(shù)。三種權(quán)限是針對類中成員(數(shù)據(jù)成員和成員函數(shù))的,為公有、私有和保護(hù)對象定義方法和對象成員表示方法。(在程序結(jié)果分析題目中定義了很多對象,同學(xué)需要掌握如何定義對象,能看懂對對象的定義和成員表示)構(gòu)造函數(shù)和析構(gòu)函數(shù)的功能、種類、特點(diǎn)。成員函數(shù)的特征:重載、內(nèi)聯(lián)、設(shè)置參數(shù)默認(rèn)值。.靜態(tài)成員種類、特點(diǎn)、用法。:屬于整個類而不是某個對象,用類名限定來態(tài)數(shù)

2、據(jù)成員的初始化方法。靜6.7.常成員(常數(shù)據(jù)成員和常成員函數(shù))的特點(diǎn)和用法:掌握常數(shù)據(jù)成員的初始化方法函數(shù)的特點(diǎn)及用法。員。函數(shù)是不屬于類的普通函數(shù),可以類中的各種成8.對象的類:自動類、靜態(tài)類、外部類。第 9 章1.復(fù)雜對象各種對象的定義(或說明)、賦值及其使用(做函數(shù)參數(shù))。(1)(2)(3)(4)(5)(6)(7)(8)一般對象對象指針:指對象對象數(shù)組象的指針對象指針數(shù)組:數(shù)組中的每個元素都是指常對象子對象:作為一個類的數(shù)據(jù)成員的對象象的指針堆對象:用 new 創(chuàng)建,delete的對象2. 類型轉(zhuǎn)換(一般數(shù)據(jù)類型轉(zhuǎn)換為類類型和類類型轉(zhuǎn)換為一般數(shù)據(jù)類型)在類型轉(zhuǎn)換中,由一般類型轉(zhuǎn)換為類類型

3、使用帶一個參數(shù)的構(gòu)造函數(shù),由類類型轉(zhuǎn)換為一般類型使用是類型轉(zhuǎn)換函數(shù)第 10 章1.繼承性和派生類類:私有成員和保護(hù)成員可以被類直接(類中的成員函數(shù)),但是不能被類的對象直接;公有成員可以被類和類的對象直接2.派生類中繼承的基類中的成員的基類中私有成員派生類不可直接權(quán)限。公有繼承方式下,基類中公有成員和保護(hù)成員在派生類中仍然是公有的和保護(hù)的。私有繼承方式下,基類中公有成員和保護(hù)成員在派生類中都是私有的。保護(hù)繼承方式下,基類中公有成員和保護(hù)成員在派生類中都是保護(hù)的。單繼承中派生類構(gòu)造函數(shù)和析構(gòu)函數(shù)的特點(diǎn)。派生類的構(gòu)造函數(shù)中顯式或隱含的包含著直接基類的構(gòu)造函數(shù)。顯式包含的帶參數(shù)的構(gòu)造函數(shù)放在成員初始

4、化列表中。派生類的析構(gòu)函數(shù)中隱含的包含著直接基類的析構(gòu)函數(shù)。2.3. 賦值兼容規(guī)則。在公有繼承方式下,派生類是基類的子類型,于是遵循如下規(guī)則:派生類的對象可以給基類對象賦值。派生類的對象可以給基類對象的初始化。派生類的對象的地址可以給基類對象指針賦值??偨Y(jié):在某些情況下,不同類的對象也可以相互賦值第 11 章 多態(tài)性和虛函數(shù)運(yùn)算符重載的概念和兩種常用方式(成員函數(shù)方式和靜態(tài)聯(lián)編和動態(tài)聯(lián)編函數(shù)方式)。靜態(tài)聯(lián)編是在編譯時進(jìn)行的,動態(tài)聯(lián)編是在運(yùn)行時進(jìn)行的。虛函數(shù)是實(shí)現(xiàn)動態(tài)聯(lián)編的重要條件。虛函數(shù)是非靜態(tài)的成員函數(shù)。使用關(guān)鍵字virtual 說明。動態(tài)聯(lián)編的條件還有公有繼承和適當(dāng)?shù)恼{(diào)用虛函數(shù)的方式。使用

5、對象和對象指針調(diào)用實(shí)現(xiàn)動態(tài)聯(lián)編,而使用對象調(diào)用實(shí)現(xiàn)靜態(tài)聯(lián)編; 使用成員函數(shù)調(diào)用虛函數(shù)實(shí)現(xiàn)動態(tài)聯(lián)編,而使用構(gòu)造函數(shù)調(diào)用虛函數(shù)實(shí)現(xiàn)靜態(tài)聯(lián)編。3. 純虛函數(shù)和抽象類沒有具體實(shí)現(xiàn)的虛函數(shù)稱為純虛函數(shù)。含有純虛函數(shù)的類稱為抽象類。抽象類不能定義對象,可以定義對象指針。抽象類作為根基類。和對象第 12 章1.2.C+的 I/O 流類庫輸出(寫)和輸入(讀)操作。格式輸出。利用控制符進(jìn)行格式輸出下列操作子的功能:hex,dex,oct,setfill(*),setw(20),setpreci磁盤文件操作()。3.(1)(2)(3)打開文件和關(guān)閉文件操作文本文件讀/寫操作二進(jìn)制文件讀/寫操作結(jié)合例題熟悉掌握上

6、述的概念和方法。通過作業(yè)進(jìn)一步鞏固學(xué)過的知識。例 1. 分析輸出結(jié)果 程序內(nèi)容如下: #include #include class Apublic:A(i=0)/帶有一個參數(shù)的構(gòu)造函數(shù),定義在類體內(nèi)a=i+b;void Pr();/定義在類體外的成員函數(shù)A()/定義在類體內(nèi)的析構(gòu)函數(shù)coutDestructorn;private:a;sicb;/靜態(tài)數(shù)據(jù)成員;void A:Pr()/類體外定義的成員函數(shù)cout(a,b)endl;A:b=5;void main()A array3;/靜態(tài)教據(jù)成員的初始化/定義類 A 的對象數(shù)組,一維的,3 個元素array0=A(1);/給數(shù)組元素賦值,使用

7、一個可以調(diào)用構(gòu)造函數(shù)生成臨時對象的/式子array1=A(3);A *parr3;/定義類 A 的對象指針數(shù)組,一組的,3 個元素for(i=0;i3;i+)parri=&arrayi;/使用 for 循環(huán)給對象指針數(shù)組的 3 個元素賦值for(i=0;iPr();/使用 for 循環(huán)輸出對象指針數(shù)組的 3 個元素所指向的值運(yùn)行該程序輸出結(jié)果如下:Destructor Destructor (6,5)(8,5)(5,5)DestructorDestructor Destructor/臨時對象/數(shù)組元素例 2 分析輸出結(jié)果 #include #include class Bpublic:B()/

8、默認(rèn)構(gòu)造函數(shù)strcpy(name,);b=0;coutDefault constructor called.n;B(char *s,double d)strcpy(name,s); b=d;/帶兩個參數(shù)的構(gòu)造函數(shù)coutConstructor called.n;B()/析構(gòu)函數(shù)coutDestructor endl;void GetB(char *s,double &d)strcpy(s,name); d=b;private:char name20;doub;void main()B *pb; double d; char s20;pb=new B4;/定義對象指針/創(chuàng)

9、建堆(動態(tài))對象數(shù)組,需要調(diào)用 4 次默認(rèn)構(gòu)造函數(shù)。/給對象數(shù)組元素賦值,需要調(diào)用兩個參數(shù)的構(gòu)造函數(shù)創(chuàng)建pb0=B(Ma,3.5);臨時對象,完成賦值后,臨時對象被。pb1=B(Hu,5.8);pb2=B(,7.2);pb3=B(Li,9.4);for(i=0;i4;i+)pbi.GetB(s,d); couts,dendl;delete pb;/對象數(shù)組運(yùn)行該程序輸出結(jié)果如下:例 3. 分析輸出結(jié)果 #include class Apublic:A()a=0;/默認(rèn)構(gòu)造函數(shù)/一個參數(shù)構(gòu)造函數(shù)/析構(gòu)函數(shù)A(i)a=i;A()coutIn A.n; void Pr()couta,; privat

10、e:a;class B:public Apublic:B()/公有繼承/該構(gòu)造函數(shù)中隱含包含直接基類的默認(rèn)構(gòu)造函數(shù)B(B(b1=b2=0;i)/該構(gòu)造函數(shù)中隱含包含直接基類的默認(rèn)構(gòu)造函數(shù)b1=0;b2=i;i,j,k):A(i),b1(j),b2(k)/派生類構(gòu)造函數(shù),帶有成員初始化表,該表第一個初始化項(xiàng)是直接基類的帶一個參數(shù)的構(gòu)造函數(shù)。B()/該析構(gòu)函數(shù)中隱含直接基類的析構(gòu)函數(shù)coutIn B.n; void Pr()A:Pr();coutb1,b2,;private:b1,b2;class C:public Bpublic:C()/公有繼承/該構(gòu)造函數(shù)中隱含包含直接基類的默認(rèn)構(gòu)造函數(shù)C(C

11、(c=0;i)c=i; i,/該構(gòu)造函數(shù)中隱含包含直接基類的默認(rèn)構(gòu)造函數(shù)j,k,l):B(i,j,k),c(l)/派生類構(gòu)造函數(shù),帶有成員初始化表,該表第一個初始化項(xiàng)是直接基類的帶 3 個參數(shù)的構(gòu)造函數(shù)。C()/該析構(gòu)函數(shù)中隱含直接基類的析構(gòu)函數(shù)coutIn C.n; void Pr()B:Pr();coutcendl;private:c;void main()C c1;C c2(10);C c3(10,20,30,40);c1.Pr c2.Prc3.Pr();();();運(yùn)行該程序后輸出結(jié)果如下:例 4. 分析輸出結(jié)果 #include class Apublic:A(i,j) a1=i;a

12、2=j; /構(gòu)造函數(shù)virtual void Pr()couta1+a2endl; /虛函數(shù)protected:a1,a2;/保護(hù)成員;class B:public Apublic:/公有繼承B(i,j):A(i,j) void Pr() couta1-a2endl; /虛函數(shù);class C:public Bpublic:C(i,j):B(i,j) void Pr() couta1*a2endl; /虛函數(shù);void main()i(3),j(5);A a(i,j);B b(i,j);C c(i,j);/創(chuàng)建 A 類對象/創(chuàng)建 B 類對象/創(chuàng)建 C 類對象A *s3=&a,&b,&c;/對象指針數(shù)組for(k=0;kPr A &ra=c; ra.Pr();A aa=c;aa.Pr();();/動態(tài)聯(lián)編/定義 A 類的對象/動態(tài)聯(lián)編/定義 A 類的對象/靜態(tài)聯(lián)編該程序的運(yùn)行結(jié)果如下:例 5. 分析輸出結(jié)果 #include #include #include void main()fstream f; f.open(my1.dat,ios:out|ios:in);/打開文件 my1.dat,打開方式可讀可寫。if(!f)/判斷文件打開是否成功coutCant open file!n;abort(

溫馨提示

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

最新文檔

評論

0/150

提交評論