第4學期重修復習提綱-to students_第1頁
第4學期重修復習提綱-to students_第2頁
第4學期重修復習提綱-to students_第3頁
免費預覽已結束,剩余5頁可下載查看

下載本文檔

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

文檔簡介

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

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

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

4、化列表中。派生類的析構函數中隱含的包含著直接基類的析構函數。2.3. 賦值兼容規則。在公有繼承方式下,派生類是基類的子類型,于是遵循如下規則:派生類的對象可以給基類對象賦值。派生類的對象可以給基類對象的初始化。派生類的對象的地址可以給基類對象指針賦值。總結:在某些情況下,不同類的對象也可以相互賦值第 11 章 多態性和虛函數運算符重載的概念和兩種常用方式(成員函數方式和靜態聯編和動態聯編函數方式)。靜態聯編是在編譯時進行的,動態聯編是在運行時進行的。虛函數是實現動態聯編的重要條件。虛函數是非靜態的成員函數。使用關鍵字virtual 說明。動態聯編的條件還有公有繼承和適當的調用虛函數的方式。使用

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

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

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

8、默認構造函數strcpy(name,);b=0;coutDefault constructor called.n;B(char *s,double d)strcpy(name,s); b=d;/帶兩個參數的構造函數coutConstructor called.n;B()/析構函數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;/定義對象指針/創

9、建堆(動態)對象數組,需要調用 4 次默認構造函數。/給對象數組元素賦值,需要調用兩個參數的構造函數創建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;/對象數組運行該程序輸出結果如下:例 3. 分析輸出結果 #include class Apublic:A()a=0;/默認構造函數/一個參數構造函數/析構函數A(i)a=i;A()coutIn A.n; void Pr()couta,; privat

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

11、(c=0;i)c=i; i,/該構造函數中隱含包含直接基類的默認構造函數j,k,l):B(i,j,k),c(l)/派生類構造函數,帶有成員初始化表,該表第一個初始化項是直接基類的帶 3 個參數的構造函數。C()/該析構函數中隱含直接基類的析構函數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();();();運行該程序后輸出結果如下:例 4. 分析輸出結果 #include class Apublic:A(i,j) a1=i;a

12、2=j; /構造函數virtual void Pr()couta1+a2endl; /虛函數protected:a1,a2;/保護成員;class B:public Apublic:/公有繼承B(i,j):A(i,j) void Pr() couta1-a2endl; /虛函數;class C:public Bpublic:C(i,j):B(i,j) void Pr() couta1*a2endl; /虛函數;void main()i(3),j(5);A a(i,j);B b(i,j);C c(i,j);/創建 A 類對象/創建 B 類對象/創建 C 類對象A *s3=&a,&b,&c;/對象指針數組for(k=0;kPr A &ra=c; ra.Pr();A aa=c;aa.Pr();();/動態聯編/定義 A 類的對象/動態聯編/定義 A 類的對象/靜態聯編該程序的運行結果如下:例 5. 分析輸出結果 #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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論