版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、面向?qū)ο髲?fù)習(xí)提綱(2013-2014-02,計科) 參考版【參考:課本、PPT 講義】一、在回答問題時,可以適當(dāng)加入C+代碼。代碼書寫要清晰,格式要標(biāo)準(zhǔn)。下述內(nèi)是各 章的主要考點,可能以填空、選擇、判對錯、問答、分析程序?qū)懡Y(jié)果等形式出現(xiàn)敘述面向?qū)ο蠹夹g(shù)的特點是什么?(提示:封裝、繼承、多態(tài)。Ref.第?章)使用 const 定義常量與用使用 define 定義常量相比,有什么優(yōu)點? (Ref. 第?章)const定義常量是有數(shù)據(jù)類型的,可以對其進(jìn)行數(shù)據(jù)靜態(tài)類型安全檢查.const在編譯時分配存 儲空間;W#define在預(yù)編譯時編譯,不分配存儲空間用代碼說明在標(biāo)準(zhǔn)C+中如何進(jìn)行輸入輸出,并解釋
2、各語句的含義是什么? (Ref.第? 章)C+中如何進(jìn)行靜態(tài)類型轉(zhuǎn)換,解釋并舉例說明。(Ref.第?章)闡述C+ +中函數(shù)三種調(diào)用的方式實現(xiàn)機(jī)制、特點及其實參、形參的格式,最好用代碼 說明。(提示:傳址、傳值、引用傳遞)(Ref.第?章)什么是先驗條件(Precondition),什么是后置條件(Postcondition)? (google)什么是名稱空間(namespace),它的主要作用是什么? (Ref.第?章)什么是重載(Overloading),解釋并舉例說明?能否根據(jù)返回值不同,對函數(shù)進(jìn)行重載, 為什么? (Ref. 第?章)總結(jié)一下關(guān)鍵字 const 的用法?( Ref. 第?
3、章, google)操作符 new 的作用是什么?如何申請單個空間?如何申請動態(tài)數(shù)組?用 new 創(chuàng)建一個 類的對象時,會發(fā)生哪些操作?必要時,請用代碼說明。 ( Ref. 第?章)操作符 delete 的作用是什么?如何刪除單個用 new 申請的空間?如何刪除申請的動態(tài) 數(shù)組?用 delete 刪除一個類的對象時,會發(fā)生哪些操作?必要時,請用代碼說明。 ( Ref. 第 ?章)什么是懸掛指針(又稱為野指針,Dangling Pointers),其危害是什么?( Ref.第?章, google)什么是類?通常一個類中包含什么樣的內(nèi)容?定義一個類的語法是什么,試舉例說明。 ( Ref. 第?章)
4、類中的成員可以用public/protected/private分別進(jìn)行修飾,這三種成員在什么情況下是可 以被訪問的? ( Ref. 第?章)什么是封裝?其作用是什么? ( Ref. 第?章, google)什么是構(gòu)造函數(shù)?構(gòu)造函數(shù)有返回值嗎?構(gòu)造函數(shù)如何命名?構(gòu)造函數(shù)可以重載嗎? 什么是缺省構(gòu)造函數(shù)(default constructor)? ( Ref.第?章)構(gòu)造函數(shù)的作用是什么?什么時候會被調(diào)用?構(gòu)造函數(shù)的執(zhí)行順序是什么(父類與子類 的構(gòu)造函數(shù)、類本身與其類型是類的數(shù)據(jù)成員的構(gòu)造函數(shù))? ( Ref. 第?章)為什么拷貝構(gòu)造函數(shù)(copy constructor)的參數(shù)必須是按引用傳遞
5、(by reference)而不能 是按值傳遞(by value)? (PPT11-P51, CH11)全局對象(Global scope objects)的構(gòu)造函數(shù)、析構(gòu)函數(shù)分別是什么時候被調(diào)用的?自動局 部對象(Automatic local objects)的構(gòu)造函數(shù)、析構(gòu)函數(shù)分別是什么時候被調(diào)用的?靜態(tài) 局部對象(static local objects)的構(gòu)造函數(shù)、析構(gòu)函數(shù)分別是什么時候被調(diào)用的?(CH9, PPT9-p62)什么是初始化列表(Initialization Sections)?它的作用是什么?( Ref.第?章)什么是抽象數(shù)據(jù)類型(ADT)?抽象類的作用是什么?抽象類
6、是否可實例化?( Ref.第? 章,google)什么是 this 指針,其作用是什么? ( Ref. 第?章)什么是友元(friend)函數(shù)?為什么要使用友員函數(shù)?( Ref.第?章)什么是運算符重載?為什么要使用運算符重載?如何進(jìn)行運算符重載,舉例說明。( Ref. 第?章)什么是析構(gòu)函數(shù)?析構(gòu)函數(shù)有返回值嗎?析構(gòu)函數(shù)如何命名?析構(gòu)函數(shù)可以重載嗎?( Ref. 第?章)析構(gòu)函數(shù)的作用是什么?什么時候會被調(diào)用?為什么析構(gòu)函數(shù)通常是虛函數(shù)、如果不是 虛函數(shù),會如何? ( Ref. 第?章, google)拷貝構(gòu)造函數(shù) (復(fù)制構(gòu)造函數(shù) )的作用是什么?什么是淺拷貝?什么是深拷貝?( Ref.第
7、?章, google)什么是 C+ 中的三大函數(shù)(The Big Three)? ( Ref.第?章,google)常見的類與類之間的關(guān)系有哪幾種?兩個什么樣的類可以實現(xiàn)為繼承關(guān)系? ( Ref. 第 ?章、第?節(jié), google)父類成員中的 public、protected、private 成員,哪些在子類中是可以訪問的?在公有繼 承、私有繼承、受保護(hù)繼承三種繼承方式下,父類成員中的 public、protected、private 成員被繼承到子類后,其可訪問性分別是什么? ( Ref. 第?章)多重繼承會帶來什么問題?在C+中是如何解決的?( Ref.第?章)對于函數(shù)調(diào)用,什么是前期綁
8、定(Early Binding,又稱為靜態(tài)聯(lián)編)?什么是的后期綁定 (Late Binding,又稱為動態(tài)聯(lián)編)?重載函數(shù)是后期綁定嗎,如果不是為什么?舉例說明。 ( Ref. 第?章)要讓一個函數(shù)調(diào)用表現(xiàn)出多態(tài)特征,必須滿足哪些條件? ( Ref. 第?章)什么是隱藏(hiding)、覆蓋(overriding)、重載(overloading)?對比它們的異同? C+代碼 為例進(jìn)行說明。 ( Ref. 第 ?章)什么是多態(tài)? ( Ref. 第?章)什么是切片(Slicing)? ( Ref.第?章,注意參考講義)簡述C+中的異常處理機(jī)制。要捕獲某段代碼中的所有異常,應(yīng)該如何編寫代碼? (Re
9、f. 第?章)分別舉例說明用于算法抽象的模板和用于數(shù)據(jù)抽象的模板。 (Ref. 第?章, google)dynamic-cast的作用是什么?試舉一例說明。(Ref.第?章)二、分析程序,寫出運行結(jié)果1.class BC public:BC( ) sBC = new char3; cout BC allocates 3 bytes.n; BC( ) delete sBC; cout BC free 3 bytes.n; private:char* sBC;class DC : public BC public:DC( ) sDC = new char5; cout DC allocates 5
10、 bytes.n; DC( ) delete sDC; cout DC free 5 bytesAn; private:char* sDC;int main( ) DC d;cout “” endl;return 0;2.class TradesPerson public:virtual void sayHi() cout Just hi. endl; void run() cout Base:run endl; ;class Tinker : public TradesPerson public:virtual void sayHi() cout Tinker. endl; void run
11、() cout Tinker:run endl; ;class Tailor : public TradesPerson public:void sayHi() cout Tailor. endl; void run() cout Tailor:run endl; ;int main( ) TradesPerson* p;int which ;cout which;switch( which )case 1: p = new TradesPerson; break;case 2: p = new Tinker; break;case 3: p = new Tailor; break;p-say
12、Hi(); p-run(); delete p;return 0; 3.void fl(int i)coutvv”in void f1(int i)”vvendl;void fl(string st) coutvvin void f1(string st)vvendl;int main()int i=0;string st=acb;fl(st);fl(i);return 0;4.class BC1 public:BC1( ) sBC = new char3; cout BC1 allocates 3 bytes.n; BC1( ) delete sBC; cout BC1 free 3 byt
13、esAn; private:char* sBC;class BC2 public:BC2( ) sBC = new char5; cout BC2 allocates 5 bytes.n; BC2( ) delete sBC; cout BC2 free 5 bytes.n; private:BC1 bc1;char* sBC;int main( ) BC1 bc1;BC2 bc2;cout “” endl;return 0;5.class C1public:C1()i=1;void incI()i+;int getI()return i;private:int i;void f1(C1 c)
14、c.incI();coutincI();coutvvin fl * vvc-getI()vvendl;void f2(C1 & c)c.incI();coutvvin f2 & vvc.getI()vvendl;int main()Cl c;fl(c);f1(&c);f2(c); return 0;三、編程基本能寫出框架的給?分; 基本能寫出類的實現(xiàn)的給?分; 基本能寫出類的應(yīng)用的給?分; 整個答案只有少許錯誤的給滿分。采用面向?qū)ο蟮姆绞骄帉懸粋€通迅錄管理程序,通迅錄中的信息包括:姓名,公司,聯(lián) 系電話,郵編。要求的操作有:添加一個聯(lián)系人,列表顯示所有聯(lián)系人。先給出類定義,然 后給出類實現(xiàn)。(
15、提示:可以設(shè)計二個類,一個通迅錄條目類CommEntry, 個通訊錄類 Commus)在一個公司中有兩個類型的人員:雇員(employee)和管理者(manager),注意管理也 是一個(is a)雇員。每個雇員有以下基本信息:姓名(name)、年齡(age)、工作年限(workYear) 和部門號(depNo )。并且一個管理者還有更多的屬性:級別( level)和管理的雇員(numOfEmployee,可以用數(shù)組定義)。一個雇員或是管理者具有以下的行為:void main()Employee e(“Jack, 24, 2, “Development);Manager m(“Tom, 30,
16、 5, “Development, 2);m.addMember(&e);/ m 管理 ee.printOn();/顯示Jack所有數(shù)據(jù)成員的信息m.printOn();顯示Tom所有數(shù)據(jù)成員的信息Employee* p = &e;bool b = p-retire(); /如果雇員的年齡是55,則b為truep = &m;b = p-retire ();/如果管理者的年齡是60,則b為true分別定義并實現(xiàn)類Employee和Manager。3.已知類的定義如下:class Base protected:int iBody;public:virtual void printOn() = 0;
17、Base(int i = 0) : iBody(i) virtual int display(int x=60):iBody(x)return iBody;class Subl : public Base public:Sub1(int i, string s);class Sub2 : public Base public:Sub2(int i, short s);;試完成類Sub1和Sub2的定義和操作的實現(xiàn)代碼,使之能符合下面程序及在注釋中描述的 運行結(jié)果的要求:main()Sub1 s1(1000, This is an object of Sub1);Sub2 s2(1000, 20); s1.printOn(); s2.printOn();/ 此時顯示出:1000: This is an object of Sub1/此時顯示出:20 and 1000c
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二手車交易協(xié)議個人
- 勞動合同解除協(xié)議書大全七篇
- 頸動脈斑塊病因介紹
- 公司借款的協(xié)議書范本10篇
- 單位股東合作的協(xié)議書
- 藥物中毒性周圍神經(jīng)病病因介紹
- 2023-2024學(xué)年天津市五區(qū)縣重點校聯(lián)考高三(上)期末語文試卷
- 2023年天津市部分區(qū)高考語文二模試卷
- 江蘇省鹽城市建湖縣漢開書院學(xué)校2023-2024學(xué)年七年級上學(xué)期第二次月考道德與法治試題(解析版)-A4
- 食品工廠機(jī)械與設(shè)備模擬習(xí)題與參考答案
- GB/T 18277-2000公路收費制式
- 2023年住院醫(yī)師規(guī)范化培訓(xùn)胸外科出科考試
- 11468工作崗位研究原理與應(yīng)用第7章
- 2023實施《中華人民共和國野生動物保護(hù)法》全文學(xué)習(xí)PPT課件(帶內(nèi)容)
- 2022年初級育嬰師考試題庫附答案
- 系統(tǒng)家庭療法課件
- 新版GSP《醫(yī)療器械經(jīng)營質(zhì)量管理規(guī)范》培訓(xùn)試題
- 初中道德與法治答題技巧課件
- 管理學(xué)專業(yè):管理基礎(chǔ)知識試題庫(附含答案)
- 河北省保定市藥品零售藥店企業(yè)藥房名單目錄
- 廣西基本醫(yī)療保險門診特殊慢性病申報表
評論
0/150
提交評論