《C++語言程序設計》作業(yè)題_第1頁
《C++語言程序設計》作業(yè)題_第2頁
《C++語言程序設計》作業(yè)題_第3頁
《C++語言程序設計》作業(yè)題_第4頁
《C++語言程序設計》作業(yè)題_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、C+語言程序設計作業(yè)題一、判斷題( )1 、寫在類體內(nèi)得函數(shù)都就是內(nèi)聯(lián)函數(shù) .( ) 2、通常得拷貝初始化構造函數(shù)得參數(shù)就是某個對象得指針名。( )3 、重載運算符可改變原運算符得優(yōu)先級與結合性。( ) 4、在設置了默認參數(shù)值后 , 調(diào)用函數(shù)得對應實參就必須省略。( )5 、析構函數(shù)就是一種函數(shù)體為空得成員函數(shù)。( )6 、某類得友元類得所有成員函數(shù)可以存取或修改該類中得私有成員。()7、對象數(shù)組得元素可以就是不同類得對象。()8、函數(shù)得參數(shù)個數(shù)、類型及位置都相同,只就是函數(shù)返回值類型不同 ,這不 就是重載函數(shù)。( )9、派生類就是從基類派生出來得,但它不能再生成新得派生類 .( )10、構造

2、函數(shù)與析構函數(shù)都不能重載 .( ) 11、在公有繼承中 , 基類中只有公有成員對派生類得對象就是可見得。()1 2、t hi s指針就是一個指向正在被某個成員函數(shù)操作得對象得指針。( ) 13、一維對象指針數(shù)組得每個元素應該就是某個類得對象得地址值。()14、在C + +中,定義函數(shù)時必須給出函數(shù)得類型。( ) 15、析構函數(shù)就是一種函數(shù)參數(shù)表為空得成員函數(shù)。( ) 16、派生類得繼承方式有兩種:公有繼承與私有繼承。( ) 17、自身類對象得引用不可以作為該類得成員。( )1 8 、多重繼承情況下 ,派生類中對基類成員得訪問不會出現(xiàn)二義性 .( ) 19、可以在類得構造函數(shù)中對靜態(tài)數(shù)據(jù)成員進行

3、初始化。( )20、多重繼承情況下,派生類得構造函數(shù)得執(zhí)行順序取決于定義派生類時 所指定得各基類得順序。()2 1、在單繼承情況下,派生類中對基類成員得訪問不會出現(xiàn)二義性。( ) 22、轉換函數(shù)不就是成員函數(shù),它就是用來進行強制類型轉換得。()2 3、在公有繼承中,基類中得保護成員對派生類對象就是可見得 .( ) 24、虛基類就是用來解決多繼承中公共基類在派生類中只產(chǎn)生一個基類 子對象得問題。( )25、在保護繼承中,基類中得公有成員對派生類對象就是可見得。( )2 6、抽象類就是指一些不能定義對象得類 .()27、虛函數(shù)就是用vi r t u al關鍵字說明得成員函數(shù).( )28、動態(tài)聯(lián)編就

4、是在運行時選定所要調(diào)用得成員函數(shù)得()2 9、聲明派生類時,在派生類得頭部都要明確列出其直接基類與間接基類。( ) 30、在 C+ 中對于運算符重載,只能重載已有得運算符 .( )31、在程序中可以直接調(diào)用構造函數(shù)。( )32、解決多繼承情況下出現(xiàn)得二義性得方法之一就是使用作用域運算符 .( ) 33、函數(shù)重載就是一種多態(tài)現(xiàn)象 ,它屬于動態(tài)聯(lián)編。( ) 34、友元函數(shù)、友元類得聲明可以放在類定義中得任何地方。()35、抽象類就是一些不能實例化得類,即不能定義對象得類。()3 6、con st對象不能隨意被修改 但c onst成員函數(shù)可以修改const對象. ( )37、拷貝初始化構造函數(shù)得參數(shù)

5、只能就是對某個對象得引用。()3 8、類得公有靜態(tài)成員既可以用類得對象訪問,也可以用作用域運算符通 過類名訪問。( )3 9、拷貝初始化構造函數(shù)得參數(shù)可以就是某類得對象名 .()40、在類體外定義得函數(shù)若沒有關健字1 nline說明,則都就是外聯(lián)函數(shù)。()41、C+中得所有函數(shù)調(diào)用都就是傳引用調(diào)用。( )42、析構函數(shù)說明為虛函數(shù)就是沒有意義得。()4 3、派生類得構造函數(shù)得成員初始化列表中可以包含基類得子對象初始化( ) 44、構造函數(shù)說明為虛函數(shù)就是沒有意義得。( )45、對每個可重載得運算符來說,它既可以重載為友元函數(shù),又可以重載 為成員函數(shù),還可以重載為非成員函數(shù) .()46、C+中得

6、所有函數(shù)調(diào)用都就是傳值調(diào)用。()47、使用關鍵字class定義得類中,缺省得訪問權限就是公有(publ ic) 得。()48、使用關鍵字c 1 ass定義得類中,缺省得訪問權限就是私有(privat e) 得。( )49、如果一個成員函數(shù)只存取類得靜態(tài)數(shù)據(jù)成員 ,則可將該成員函數(shù)說明 為靜態(tài)成員函數(shù)。()50、說明與定義類得對象時,類名前面不需要加 class關鍵字.、填空1、如果一個函數(shù)沒有返回值,定義時需用類型說明符說明。2、 通常得拷貝初始化構造函數(shù)得參數(shù)就是 。3、 對象成員得表示與結構體成員得表示相同,使用運算符_或。4、已知:p就是一個指向類A數(shù)據(jù)成員m得指針,a1就是類A得一個對

7、象,如果要給對象a 1得數(shù)據(jù)成員m賦值為5,應賦值。5、C +中,繼承分為單繼承與,而繼承方式可分為 6、任何類中允許有三種類型得成員 ,它們分別就是 _7、能夠用來訪問當前作用域內(nèi)與局部變量同名得全局變量。8在類內(nèi)部定義得與成員不能被不屬于該類得成員函數(shù)來存取定義為得成員則可以在類外部進行存取.9、 靜態(tài)數(shù)據(jù)成員得賦初值就是在進行。10、 C +得函數(shù)如果在返回類型、參數(shù)類型、參數(shù)個數(shù)、_ 上有所不同,則認為就是不同得函數(shù) (注:對于同名函數(shù)而言) 。1 1、如果不能成功地分配所需要得內(nèi)存時,new返回。1 2、在編譯時將所用函數(shù)得代碼嵌入到主調(diào)函數(shù)中,這種函數(shù)稱為。1 3、如果靜態(tài)成員函數(shù)

8、中要引用非靜態(tài)成員時,可通過來引用。14、當使用delete運算符釋放一個對象時,del et e會自動調(diào)用。1 5、從一個基類派生得繼承為單繼承,從多個基類派生得繼承為_。16、 多繼承下 ,可能造成對基類中某個成員訪問得 _。17、如果想要使公共基類在派生類中只產(chǎn)生一個基類子對象,則必須將這個基類設為。1 8、面向對象程序設計得三大特征就是封裝性、繼承性與 。19、多態(tài)從實現(xiàn)得角度來講可以劃分為兩類,編譯時得多態(tài)與 .2 0、將運算符+重載為類得友元函數(shù)時,定義前置+ +有個參數(shù),而定義后置 +有_個參數(shù).2 1、抽象類不能實例化,即不能定義一個抽象類得.22、 關鍵字、_、與在 C+中用

9、來建立新得數(shù)據(jù)類型。23、 定義在類內(nèi)部得函數(shù)為,編譯器會在調(diào)用該函數(shù)處,將函數(shù)代 碼得拷貝在調(diào)用函數(shù)處展開 .24、 在類定義時如果沒有定義構造函數(shù),編譯系統(tǒng)會自動生成一個25、 類得成員只能被該類得成員函數(shù)或友元訪問。26、 使關鍵字c 1 ass定義得類中缺省得訪問權限就是 。27、 一個類中只可能定義析構函數(shù)。28、當一個類得成員就是另一個類得對象時,該對象稱為 。29、 靜態(tài)數(shù)據(jù)成員在定義或說明時前面要加上關鍵字 _。3 0、C+程序必須包含頭文件后,才能使用輸入輸出流。31、 在說明const變量時,必須對該變量。32、 在需要基類對象得任何地方都可以使用得對象來代替。33、 帶有

10、純虛函數(shù)得類就是。34、 動態(tài)聯(lián)編可以通過或引用所標識得對象來操作虛函數(shù).3 5、_限定符用來聲明只讀變量36、 公有成員函數(shù)得集合稱為類得 _。37、 重載不能改變運算符得_與.3 8、運算符 _ _動態(tài)分配一個對象 .39、能夠定義一個在不同數(shù)據(jù)類型基礎上完成同一任務得函數(shù)。4 0、每個對象都維護了一個指向自身得指針,這個指針稱為 旨針41、 處于同一層次得各基類構造函數(shù)得執(zhí)行順序取決于所指定得 各基類得順序。42、_就是用來初始化類得數(shù)據(jù)成員得一種特殊得成員函數(shù).4 3、受保護得成員不能被外界引用,但它可以被派生類得_ _ 引用。44、靜態(tài)聯(lián)編工作就是在 _ 階段完成得。4 5、在C +

11、 +中,對虛函數(shù)來說,不能聲明,但可以聲明虛析構函數(shù)46、 員函數(shù)得實現(xiàn)中不能直接引用類中說明得非靜態(tài)成員47、 c on st c ha r *p說明了 p就是指向得指針.48、 通常,類得成員函數(shù)得訪問模式就是_ _ ,數(shù)據(jù)成員得訪問模式就是 。49、當用受保護得繼承從基類派生一個類時,基類得公有成員成為派生類得成員,基類得受保護成員成為派生類得 成員 .50、 如果一個類包含一個或多個純虛函數(shù),則該類為 。三、選擇題1、下列有關類得說法不正確得就是 _。 類就是一種用戶自定義得數(shù)據(jù)類型; 只有類中得成員函數(shù)或友元函數(shù)才能存取類中得私有成員 ; 在類中 ,如果不作特別說明 ,所有得數(shù)據(jù)均為

12、私有類型 ; 在類中,如果不作特別說明 ,所有得成員函數(shù)均為公有類型 ;2、局部變量可以隱藏全局變量,那么在有同名全局變量與局部變量得情形時 可以用 _ 提供對全局變量得訪問 . 作用域運算符 指針運算符 提取運算符 插入運算符3、 類模板得使用實際上就是將類模板實例化成一個具體得_。 函數(shù) 對象 類類得成員4、 下列輸出字符 d 得方法中, 是錯誤得. co ut p ut ( d); cout d; cout、p ut( d); ch ar a= d ; co utv a;5、 已知類A中一個成員函數(shù)說明為:v o id se t(A & a);,其中A &a得含意就是_。 指向類 A 得

13、指針為 a; 將a得地址值賦值給變量s et; a就是類A得對象引用,用來作函數(shù)s et ()得形參; 變量A與a按位相與作為函數(shù)set ()得參數(shù);6、派生類得構造函數(shù)得成員初始化列表中,不能包含o 基類得構造函數(shù) ; 派生類中子對象得初始化; 基類得子對象初始化; 派生類中一般數(shù)據(jù)成員得初始化 ;7、關于引用,下列得說法中錯誤得就是 o 引用就是給被引用得變量取一個別名; 引用主要就是用來作函數(shù)得形參與函數(shù)得返回值; 在聲明引用時 , 要給它另開辟內(nèi)存單元; 在聲明引用時,必須同時使它初始化;8在下列說法中,會調(diào)用拷貝初始化構造函數(shù)。 當對象作為函數(shù)實參傳遞給函數(shù)形參時 ; 明確表示由一個

14、對象初始化另一個對象時; 用賦值運算符” =”將一個對象賦給另一個同類對象時 ; 當對象作為函數(shù)返回值時 ;9、就是不可以作為某類得成員得。 自身類對象得指針 自身類得對象 自身類對象得引用 另一個類得對象10、關于虛函數(shù)得描述中,就是正確得。 虛函數(shù)就是一個 static 類型得成員函數(shù); 虛函數(shù)就是一個非成員函數(shù); 基類中說明了虛函數(shù)后,派生類中與其對應得函數(shù)可不必說明為虛函數(shù); 派生類得虛函數(shù)與基類得同名虛函數(shù)應具有不同得參數(shù)個數(shù)與類型;11、 下列四項選擇中,不就是流類得對象。 cin co utbuff cer r12、 下列關于con st限定符得說法中,錯誤得就是。 co nst

15、限定符就是左結合得,即它修飾在它左邊得類型; 在說明cons t變量時,必須對該變量進行初始化; 與宏定義符號常量得區(qū)別就是,co n s t將產(chǎn)生一個具有類型得符號; co n st 變量就是常量變量,所以一個 con st 變量可以被多次賦予不同得 常量;1 3、在下列得各類函數(shù)中,不就是類得成員函數(shù)。 構造函數(shù) 析構函數(shù) 友元函數(shù) 拷貝初始化構造函數(shù)14、不就是析構函數(shù)得特征。 一個類中只能定義一個析構函數(shù) ; 析構函數(shù)名與類名相同; 析構函數(shù)只就是用來釋放對象,所以析構函數(shù)就是空函數(shù) ; 析構函數(shù)不指定數(shù)據(jù)類型,并且也沒有參數(shù);1 5、下述靜態(tài)數(shù)據(jù)成員得特性中,就是錯誤得。 說明靜態(tài)數(shù)

16、據(jù)成員時前面要加修飾符 stat i c ; 靜態(tài)數(shù)據(jù)成員要在類體外進行初始化 ; 在程序中引用公有靜態(tài)數(shù)據(jù)成員時,要在靜態(tài)數(shù)據(jù)成員名前加v類名 與作 用域運算符 ; 靜態(tài)數(shù)據(jù)成員就是個別對象所共用得;1 6、具有轉換函數(shù)功能得構造函數(shù),應該就是_。 不帶參數(shù)得構造函數(shù); 帶有一個參數(shù)得構造函數(shù); 帶有兩個以上參數(shù)得構造函數(shù) ; 缺省構造函數(shù) ;17、 下列繼承方式中,種繼承方式就是錯得. 公有繼承 ; 私有繼承; 完全繼承; 保護繼承 ;18、 下列對繼承關系得描述中,就是對得. 在公有繼承中,基類中得公有成員與私有成員在派生類中都就是可見得; 在公有繼承中 ,基類中只有公有成員對派生類得對

17、象就是可見得; 在私有繼承中,基類中只有公有成員對派生類就是可見得 ; 在私有繼承中,基類中得保護成員對派生類得對象就是可見得 ;1 9、對定義重載函數(shù)得下列要求中,就是錯誤得. 要求參數(shù)得個數(shù)不同 ; 要求參數(shù)中至少有一個類型不同; 要求參數(shù)個數(shù)相同時,參數(shù)類型不同 ; 參數(shù)個數(shù)與類型相同時 ,要求函數(shù)得返回值不同 ;20、當一個函數(shù)無返回值時,定義它時函數(shù)得類型應就是 _。 v o i d任意i n t無2 1、重載函數(shù)在調(diào)用時選擇得依據(jù)中,錯誤得就是。 參數(shù)個數(shù) 參數(shù)得類型 參數(shù)得位置 函數(shù)得返回值類型22、 有關構造函數(shù)得說法不正確得就是 . 構造函數(shù)得名字與類得名字一樣 ; 構造函數(shù)

18、在說明類得對象時自動執(zhí)行; 構造函數(shù)無任何函數(shù)類型; 構造函數(shù)有且僅有一個;23、 下列得 就是函數(shù)得引用調(diào)用 . 形參就是指針 , 實參就是地址值; 形參就是變量,實參就是引用; 形參就是指針 , 實參就是數(shù)組名; 形參就是引用 , 實參就是變量;2 4、在一個被調(diào)用函數(shù)中,關于re t urn語句使用得描述,就是錯誤得. 被調(diào)用函數(shù)中可以不用 retu r n 語句; 被調(diào)用函數(shù)中可以使用多個 return 語句; 被調(diào)用函數(shù)中,如果有返回值,就一定要有r et urn語句; 被調(diào)用函數(shù)中,一個r e t u rn語句可返回多個值給調(diào)用函數(shù);25、在C+中,關于下列設置參數(shù)默認值得描述中,

19、就是正確得。 不允許設置參數(shù)得默認值 ; 設置參數(shù)默認值只能在定義函數(shù)時設置 ; 設置參數(shù)默認值時,應該就是先設置右邊得再設置左邊得; 設置參數(shù)默認值時,應該全部參數(shù)都設置;26、 關于n ew運算符得下列描述中, 就是錯誤得。 它可以用來動態(tài)創(chuàng)建對象與對象數(shù)組 ; 使用它創(chuàng)建得對象與對象數(shù)組可以使用運算符 delete 刪除; 使用它創(chuàng)建對象時要調(diào)用構造函數(shù); 使用它創(chuàng)建對象數(shù)組時必須指定初始值;27、運算符 * 得功能就是 _ _。 用來表示指向對象指針對指向類成員指針得操作 ; 用來表示對象對指向類成員指針得操作 ; 用來表示指向對象指針對類成員得操作 ; 用來表示對象對類成員得操作 ;

20、28、在一個函數(shù)中,要求通過函數(shù)來實現(xiàn)一種不太復雜得功能,并且要求加快執(zhí)行速度,選用合適。 重載函數(shù) 嵌套調(diào)用 減少空間 使用方便,提高可讀性 內(nèi)聯(lián)函數(shù) 遞歸函數(shù)29、采用函數(shù)重載得目得在于 實現(xiàn)共享 提高速度30、下列函數(shù)中,不能重載 成員函數(shù) 非成員函數(shù) 析構函數(shù) 構造函數(shù)3 1、在下列關鍵字中,用以說明類中公有成員得就是 ”一起,將從鍵盤輸入得數(shù)送到變量中保存起來; 使用標準輸入流,必須包含頭文件s t dl i b、h;3 4、就是構造函數(shù)得特征。 構造函數(shù)得函數(shù)名與類名不同 ; 一個類中只能定義一個構造函數(shù); 構造函數(shù)可以設置缺省參數(shù); 構造函數(shù)必須指定類型說明 ;35、 C +語言

21、中規(guī)定函數(shù)得返回值得類型就是由. r e tu r n語句中得表達式類型所決定; 調(diào)用該函數(shù)得主調(diào)用函數(shù)類型決定 ; 調(diào)用該函數(shù)時系統(tǒng)臨時決定 ; 在定義該函數(shù)時所指定得函數(shù)類型所決定;36、 下列對派生類得描述中,就是錯得。 一個派生類可以作為另一個派生類得基類; 派生類中繼承得基類成員得訪問權限到派生類保持不變; 派生類得成員除了它自己得成員外,還包含了它得基類得成員; 派生類至少有一個基類;37、帶有虛基類得多層派生類構造函數(shù)得成員初始化列表中都要列出虛基類得構造函數(shù),這樣將對虛基類得子對象初始化。 與虛基類下面得派生類個數(shù)有關 ; 多次; 二次 ; 一次;3 8、關于繼承中出現(xiàn)得二義性

22、得描述中, _就是錯得 . 一個派生類得兩個基類中都有某個同名成員,在派生類中對這個成員得訪 問可能出現(xiàn)二義性; 解決二義性得最常用得方法就是對成員名得限定法 ; 在單繼承情況下 ,派生類中對基類成員得訪問也會出現(xiàn)二義性 ; 一個派生類就是從兩個基類派生出來得 ,而這兩個基類又有一個共同得基類 對該基類成員進行訪問時 ,也可能出現(xiàn)二義性;3 9、已知 f1( )就是類 A 得公有成員函數(shù), p 就是指向成員函數(shù) f1( )得指針,采用 就是正確得 . p=f 1; p=A:fl; p =A: f 1 (); p=f1();40、關于動態(tài)聯(lián)編得下列描述中,就是錯誤得. 動態(tài)聯(lián)編就是以虛函數(shù)為基礎

23、得; 動態(tài)聯(lián)編就是在運行時確定所調(diào)用得函數(shù)代碼得; 動態(tài)聯(lián)編調(diào)用函數(shù)操作就是用指向對象得指針或對象引用 ; 動態(tài)聯(lián)編就是在編譯時確定操作函數(shù)得;41 、下面就是面向對象程序設計得特點,而 不就是得 . 多態(tài)性 封裝性 隱藏性 繼承性42、關于成員函數(shù)特征得下述描述中,就是錯誤得。 成員函數(shù)一定就是內(nèi)聯(lián)函數(shù) ; 成員函數(shù)可以重載 ; 成員函數(shù)可以設置參數(shù)得缺省值; 成員函數(shù)可以就是靜態(tài)得。4 3、關于delete運算符得下列描述中,就是錯得. 它必須用于 new 返回得指針 ; 它也適用于空指針 ; 對一個指針可以使用多次該運算符 ; 指針名前只用一對方括號 ,不管所刪除數(shù)組得維數(shù) .4 4、設

24、置虛基類得目得就是 。 簡化程序 ; 消除二義性 ; 提高運行效率; 減少目標代碼 ;45、下列運算符中, 算符在C+中不能重載。 ? : + =4 6、下列關于運算符重載得描述中,就是正確得。 運算符重載可以改變運算數(shù)得個數(shù) ; 運算符重載可以改變優(yōu)先級 ; 運算符重載可以改變結合性; 運算符重載不可以改變語法結構 ;4 7、如果一個類至少有一個純虛函數(shù),那么就稱該類為。 派生類 以上都不對48、 對基類與派生類得關系描述中,就是錯誤得。 派生類就是基類得具體化 ; 派生類就是基類得子集; 派生類就是基類定義得延續(xù) ; 派生類就是基類得組合;49、已知:prin t()函數(shù)就是一個類得常成員

25、函數(shù),它無返回值,下列表示中, 就是正確得。 c o nst v oi void p r in t(co就是可以訪問得。 v o id pr i nt () con std p rint () vo id co ns t p r int ()n s t)5 0、派生類得對象對它得基類成員中, 公有繼承得私有成員 私有繼承得公有成員 公有繼承得公有成員 ; 公有繼承得保護成員; 四、簡答題1、什么叫做靜態(tài)成員函數(shù)?它有何特點?2、在繼承體制中,試分析基類中某成員函數(shù)就是虛函數(shù)與不就是虛函數(shù)有何 不同?3、試解釋純虛函數(shù)與函數(shù)體為空得虛函數(shù)得相似及不同之處.4、為什么說C+ +中得運算符 與就是重

26、載得運算符?5、什么就是動態(tài)聯(lián)編?在什么情況下可以實現(xiàn)動態(tài)聯(lián)編 ?6、拷貝初始化構造函數(shù)就是一特殊得成員函數(shù) ,在什么情況下系統(tǒng)會自動調(diào)用 它?7、多繼承下,可能造成對基類中某個成員訪問得不唯一性,稱為對基類成員訪問得二義性問題。試舉例說明 ,多繼承時,在什么情況下會產(chǎn)生二義性?8、如果在類模板得定義中有一個靜態(tài)數(shù)據(jù)成員,則在程序運行中會產(chǎn)生多少 個相應得靜態(tài)變量?9、派生類得對象可以賦給基類對象,反過來行嗎 ?為什么?10、構造函數(shù)可以就是虛函數(shù)嗎 ?試說明.五、寫出下列程序得運行結果1、 #in c lu d e iostrea m、hc 1 ass A pu blic :A (int i

27、 = 0) m=i;cout ” C on s t r uctor c a lled、 m ven dl;v oid set (int i) m=i ;void p ri nt( ) c onst? c out v mv endl ;A( ) c o ut” D e s t ru c tor called、” e ndl; pri v ate:i nt m;;v o id fu n (co ns tA&c ) c、pr i nt( );vo id main( ) fun (5) ;Ans:Constr uctor ca11 ed、 55Des truct o r ca1 led、2、#i nc

28、 1 ude iost re am、hc lass A public:?A() a=0;b= 0;co utvvDe fau lt con structo r c alle d、” e nd1;A(in t i, int j ) a= i ;b=j;?c outv ” Constructor :a=a ,b=” b endl;?A( ) coutV Des t ru ct or cal le d、v en d I; voi d se t (int i, i n t j) a= i; b=j ;void print ( )? cout ” a= vv a vh , b=” b V endl; p

29、ri v ate:i n t a, b;void main( ) A a 3 ;f o r(in t i= 0 ; i 3; i+ +)? ai、 se t(2*i+1,(i+1)*2 ) ;?ai、 prin t( );A ns :Default co nstructor called、Defa u lt c o ns t ructor call ed、Defa u lt con s truc t or called、a=1 , b=2a=3, b= 4a = 5 ,b=6De s t r uctor cal l ed、D est r uct o r called、Des tructor c

30、a ll ed、3、#i nclud e io stream、 h”cl as s B pu bl ic:B( ) B(int i,in t j)? a=i, b = j; ?void p r intb( ) ;pr i va te:in t a, b;;cla s s A p ubl ic :A ( ) A(in t i , i nt j ):c(i ,j) ?v oid print a ();pr iva t e:?B c;;void B: : p ri n tb () c out” a=av”, b=” v b vendl; void A: :printa ( ) c、p rin tb

31、();voi d main () A ob (7 ,8);ob、 pr int a( );Ans: a=7,b=84、#i n cl u de iostream、hc 1 ass A p ub 1 ic:A (in t i, i nt j) x = i; y=j; f riend i n t fu n( A & a);priv at e:?in t x, y;;int fun (A &a) a、 x=a、 x a、 y;return a、x;void main( ) A ob 1 (4, 7) ,ob 2 (5,9);co ut f u n(ob 1 ) v,f u n (ob2)v endl

32、;A n s:2 8, 4 55、#i n c lu de io s t r eam、hc l a ss A pu bl ic:A(i n t i, in t j) a= i; b = j; v o id mo v e (i nt i, i n t j) a+=i; b + = j; ? void di s p( )cou t ( av”,vb”) vve ndl;pr iv at e:i nt a, b ;;c lass B: pu b l i c Ap ublic :B( int i, int j,i n t k, i n t l):A(i , j) , x( k), y (l) vo i

33、 d di s p( ) coutx v”,yd is p();?B d(3,4,5,6);?d、 fun ( );d、A: disp( ); d、 disp( ) ;An s :(1,2 )(6,9 )5,66、#inelude ” io s tream、hc la ss A pub l i c :void s eta( int x )voi d showa( )a=x ;c out av ”;pri v at e:int1a;cl ass B public:voi dsetb(i nt x)b =x; voi dsh owb( )cou tVVbV;priva te : int b;cla

34、 ss C: publicA,p u blic Bp ublic:vo id setc(i n t x, int y.i n t z)c= z;seta(x) setb(y);voi d s how c () showa ();sh ow b ();co utc ” aendl;p rotected:char a;cl ass P 1: p ub lic J public:P1(int i , int j): J (i, j ) p = i+j; dis p la y ( );void display( ) cout vv P1:displ a y( ) ca l led、”v pv end

35、l; priv ate:int p;v o id ma in () P 1 o b(1 4,7);A ns:J:display() calle d、bP1:display() called、21Press any key to continue8、#includeo“s tr eam、h”class number public:number() count+; number( ) cou nt - ;static int HMS( ) return count;p rivate :static int count;;i nt num b er: : cou n t= 2 0;v o id ma

36、i n() n umber al, a 2 , a3, a4;cou t nu mb e r: :HM S( ) v endl;a 1、n umber ();cout nu mbe r :HMS ( ) vendl;A n s:24239、# inc 1 ude ?class A ?i nt a , b ;pub lie :A() a=b = 0;A(int aa,int bb) a=a a; b=bb; ?cout va v vvbvve nd1; ?;?v oid m ain()? ?A x, y( 2, 3), z (4,5);234 5?10 、# i ncl u de ?class

37、FOO public :F O O(int i) cout Const r ucting、n; ?poin te r=ne w i n t;*p o in t er=i; ?F OO (const FO O& other) e out ” Copy Con struct in g、n ;po in ter =n ew i n t;?*p o i nt er=*o t he r、poin ter ;?FO O() ?c o ut ”Des tructi n g n ; ?del e te po i nter ;? ? in t get () re tu rn poi nte r;p rivat

38、e: ?intpoin ter;; ?void disp 1 ay(FOOo bj) cou tvvo b j、g et()elass Apublie:i nt n;;c l a ss B: p u blic A;class C: p u b lic A ;class D:pub1 ic B,pub1 ic Cint getn () retur n B : n;;void main( )D d;d、B: : n =10;d、C:n = 2 0;cou td、B: :nclass Aprivate:sta ticint n;int X;p ub li c:A(in t x = 0) X=x; n

39、+ +;A() n ;stati c int GetNu m () return n; voi d print( ) ;;e ndl ; void A: print () co ut ” n= v n v ”,X= Xin t A: : n = 0; void main () A * p = new A(12);pprint();A a( 3 4);a、pri nt();delete p;co ut n = vv A: : GetN u m ()c l a ss Sample pr i vate:int i ;static i nt count;pu bli c :Sam pl e( );?v

40、oi d d ispla y( ) ;Sample: S ampl e()i= 0 ;cou nt +;v o id Sampl e: : d isplay( )%out i= i + + v , c oun t =c ou nt hcl as s Bas e1pu b li c :? v irtual;v oi ddispl a y( ) co nst ; ?void Ba se 1: :dis pla y () const cout Base1 :di sp 1a y () J vo i d B ase2 : : d isp 1 ay() c o nst cout displ a y( )

41、 ; ? vo i d mai ?Base1 base?Ban () 1; ?s e2 b as e 2; ? r ived deri v e d; ? f un (& base 1 )(&bas e 2); ?fun( & d e ri ve運行結果:?De?fund) ; ?Base1:d i spla y ()B a se 2: : displ a y()D e r i v e d : : d i s p lay ()1 5。用一句話概括下面程序得功能,并在”/”后加上注釋。#includ e iost r eam、 h# i n c lu d e” i tream、hv o id m

42、ain ()?char ch;ifs t re am m y i n (” ”);if (! myi n )/cou t cannot op e n f ile:;of st re a m m you t ();co uyout)t v ”a nn o t open file :?vhile (my in、get(c h )?m y out、p ut(ch) ;/ /.?m y i n、c los e ();?m y ou t、clo s e();功能:功能就是:將文件得內(nèi)容復制到文件中。(3分)注釋:判斷就是否可以打開文件,myin= 0為不可以,m y in=1為可以。(1分)注釋:向文件

43、讀、寫數(shù)據(jù)。(1分)16 c lass Bas e? ? pub l ic :? vi rtual voi d fn (i nt x)? co u t v In Ba se cl a ss , i nt x =v xe n dl;;c lass S ubC lass : public Basep ublic :vir tu al v oid fn( in t f)? c o ut v In SubClas s, int f = ” f endl;?;vo id test ( Ba se &t)?t、f n(5、5);vo id m a in ()? Bas e b ;SubCl as s s;

44、? b、fn(1 0 );s、 fn ( 5 、 5)cou t v ”n Ca l l ing t e st ( b):n te s t (b );cou t nC a lli n g test (s): n; test ( s) ;Ans:In Base class,in t x=10I n SubC l ass,i nt f= 5Calling t est( b) :In Base class, int x =5Cal ling test(s):I n SubC l a s s, int f = 5Pr e ss any k e y to c o n t i nu e ?六、簡答題1 什么叫函數(shù)重載?重載得函數(shù)要滿足什么條件? 僅函數(shù)得返回值類型不同可以進行函數(shù)重載嗎?2簡述面向對象技術得四個基本特征。3 簡述面向對象技術支持得四種多態(tài)性 .4 試解釋純虛函數(shù)與函數(shù)體為空得虛函數(shù)得相似及不同之處。5。若派生類與其基類中有同名成員,試圖通過派生類對象訪問該同名成員時,可訪問到得就是派生類中得還就是基類中得成員?跟據(jù)上述理解,分析下面得類體系。Cl a ss A Publ ic: in t i;Vo id f(float);c lass B: public A pu bli c: int i;v o id f

溫馨提示

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

評論

0/150

提交評論