九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

《C語言程序設(shè)計》作業(yè)題.doc

  • 資源ID:16762976       資源大小:165.50KB        全文頁數(shù):36頁
  • 資源格式: DOC        下載積分:5積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要5積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

《C語言程序設(shè)計》作業(yè)題.doc

C+語言程序設(shè)計作業(yè)題一、判斷題( )1、寫在類體內(nèi)的函數(shù)都是內(nèi)聯(lián)函數(shù)。( )2、通常的拷貝初始化構(gòu)造函數(shù)的參數(shù)是某個對象的指針名。( )3、重載運算符可改變原運算符的優(yōu)先級和結(jié)合性。( )4、在設(shè)置了默認參數(shù)值后,調(diào)用函數(shù)的對應(yīng)實參就必須省略。( )5、析構(gòu)函數(shù)是一種函數(shù)體為空的成員函數(shù)。( )6、某類的友元類的所有成員函數(shù)可以存取或修改該類中的私有成員。( )7、對象數(shù)組的元素可以是不同類的對象。( )8、函數(shù)的參數(shù)個數(shù)、類型及位置都相同,只是函數(shù)返回值類型不同,這不是重載函數(shù)。( )9、派生類是從基類派生出來的,但它不能再生成新的派生類。( )10、構(gòu)造函數(shù)和析構(gòu)函數(shù)都不能重載。( )11、在公有繼承中,基類中只有公有成員對派生類的對象是可見的。( )12、this指針是一個指向正在被某個成員函數(shù)操作的對象的指針。( )13、一維對象指針數(shù)組的每個元素應(yīng)該是某個類的對象的地址值。( )14、在C+中,定義函數(shù)時必須給出函數(shù)的類型。( )15、析構(gòu)函數(shù)是一種函數(shù)參數(shù)表為空的成員函數(shù)。( )16、派生類的繼承方式有兩種:公有繼承和私有繼承。( )17、自身類對象的引用不可以作為該類的成員。( )18、多重繼承情況下,派生類中對基類成員的訪問不會出現(xiàn)二義性。( )19、可以在類的構(gòu)造函數(shù)中對靜態(tài)數(shù)據(jù)成員進行初始化。( )20、多重繼承情況下,派生類的構(gòu)造函數(shù)的執(zhí)行順序取決于定義派生類時所指定的各基類的順序。( )21、在單繼承情況下,派生類中對基類成員的訪問不會出現(xiàn)二義性。( )22、轉(zhuǎn)換函數(shù)不是成員函數(shù),它是用來進行強制類型轉(zhuǎn)換的。( )23、在公有繼承中,基類中的保護成員對派生類對象是可見的。( )24、虛基類是用來解決多繼承中公共基類在派生類中只產(chǎn)生一個基類子對象的問題。( )25、在保護繼承中,基類中的公有成員對派生類對象是可見的。( )26、抽象類是指一些不能定義對象的類。( )27、虛函數(shù)是用virtual關(guān)鍵字說明的成員函數(shù)。( )28、動態(tài)聯(lián)編是在運行時選定所要調(diào)用的成員函數(shù)的。( )29、聲明派生類時,在派生類的頭部都要明確列出其直接基類和間接基類。( )30、在C+中對于運算符重載,只能重載已有的運算符。( )31、在程序中可以直接調(diào)用構(gòu)造函數(shù)。( )32、解決多繼承情況下出現(xiàn)的二義性的方法之一是使用作用域運算符。( )33、函數(shù)重載是一種多態(tài)現(xiàn)象,它屬于動態(tài)聯(lián)編。( )34、友元函數(shù)、友元類的聲明可以放在類定義中的任何地方。( )35、抽象類是一些不能實例化的類,即不能定義對象的類。( )36、const對象不能隨意被修改,但const成員函數(shù)可以修改const對象。( )37、拷貝初始化構(gòu)造函數(shù)的參數(shù)只能是對某個對象的引用。( )38、類的公有靜態(tài)成員既可以用類的對象訪問,也可以用作用域運算符通過類名訪問。( )39、拷貝初始化構(gòu)造函數(shù)的參數(shù)可以是某類的對象名。( )40、在類體外定義的函數(shù)若沒有關(guān)健字inline說明,則都是外聯(lián)函數(shù)。( )41、C+中的所有函數(shù)調(diào)用都是傳引用調(diào)用。( )42、析構(gòu)函數(shù)說明為虛函數(shù)是沒有意義的。( )43、派生類的構(gòu)造函數(shù)的成員初始化列表中,可以包含基類的子對象初始化。( )44、構(gòu)造函數(shù)說明為虛函數(shù)是沒有意義的。( )45、對每個可重載的運算符來說,它既可以重載為友元函數(shù),又可以重載為成員函數(shù),還可以重載為非成員函數(shù)。( )46、C+中的所有函數(shù)調(diào)用都是傳值調(diào)用。( )47、使用關(guān)鍵字class定義的類中,缺省的訪問權(quán)限是公有(public)的。( )48、使用關(guān)鍵字class定義的類中,缺省的訪問權(quán)限是私有(private)的。( )49、如果一個成員函數(shù)只存取類的靜態(tài)數(shù)據(jù)成員,則可將該成員函數(shù)說明為靜態(tài)成員函數(shù)。 ( )50、說明和定義類的對象時,類名前面不需要加class關(guān)鍵字。二、填空1、如果一個函數(shù)沒有返回值,定義時需用類型說明符_說明。2、通常的拷貝初始化構(gòu)造函數(shù)的參數(shù)是_。3、對象成員的表示與結(jié)構(gòu)體成員的表示相同,使用運算符_或_。4、已知:p是一個指向類A數(shù)據(jù)成員m的指針,a1是類A的一個對象,如果要給對象a1的數(shù)據(jù)成員m賦值為5,應(yīng)_賦值。5、C+中,繼承分為單繼承和_,而繼承方式可分為_、_、_。6、任何類中允許有三種類型的成員,它們分別是_、_、_。7、_能夠用來訪問當前作用域內(nèi)與局部變量同名的全局變量。8、在類內(nèi)部定義的_和_成員不能被不屬于該類的成員函數(shù)來存取,定義為_的成員則可以在類外部進行存取。9、靜態(tài)數(shù)據(jù)成員的賦初值是在_進行。10、C+的函數(shù)如果在返回類型、參數(shù)類型、參數(shù)個數(shù)、_上有所不同,則認為是不同的函數(shù)(注:對于同名函數(shù)而言)。11、如果不能成功地分配所需要的內(nèi)存時,new返回_。12、在編譯時將所用函數(shù)的代碼嵌入到主調(diào)函數(shù)中,這種函數(shù)稱為_。13、如果靜態(tài)成員函數(shù)中要引用非靜態(tài)成員時,可通過_來引用。14、當使用delete運算符釋放一個對象時,delete會自動調(diào)用_。15、從一個基類派生的繼承為單繼承,從多個基類派生的繼承為_。16、多繼承下,可能造成對基類中某個成員訪問的_。17、如果想要使公共基類在派生類中只產(chǎn)生一個基類子對象,則必須將這個基類設(shè)為_。18、面向?qū)ο蟪绦蛟O(shè)計的三大特征是封裝性、繼承性和_。19、多態(tài)從實現(xiàn)的角度來講可以劃分為兩類,編譯時的多態(tài)和_。20、將運算符+重載為類的友元函數(shù)時,定義前置+有_個參數(shù),而定義后置+有_個參數(shù)。21、抽象類不能實例化,即不能定義一個抽象類的_。22、關(guān)鍵字_、_、_ 和 _在C+中用來建立新的數(shù)據(jù)類型。23、定義在類內(nèi)部的函數(shù)為_,編譯器會在調(diào)用該函數(shù)處,將函數(shù)代碼的拷貝在調(diào)用函數(shù)處展開。24、在類定義時如果沒有定義構(gòu)造函數(shù),編譯系統(tǒng)會自動生成一個_。25、類的_成員只能被該類的成員函數(shù)或友元訪問。26、使關(guān)鍵字class定義的類中缺省的訪問權(quán)限是_。27、一個類中只可能定義_個析構(gòu)函數(shù)。28、當一個類的成員是另一個類的對象時,該對象稱為_。29、靜態(tài)數(shù)據(jù)成員在定義或說明時前面要加上關(guān)鍵字_。30、C+程序必須包含頭文件_后,才能使用輸入輸出流。31、在說明const變量時,必須對該變量_。32、在需要基類對象的任何地方都可以使用_的對象來代替。33、帶有純虛函數(shù)的類是_。34、動態(tài)聯(lián)編可以通過_或引用所標識的對象來操作虛函數(shù)。35、_限定符用來聲明只讀變量。36、公有成員函數(shù)的集合稱為類的_。37、重載不能改變運算符的_和_。38、運算符_動態(tài)分配一個對象。39、_能夠定義一個在不同數(shù)據(jù)類型基礎(chǔ)上完成同一任務(wù)的函數(shù)。40、每個對象都維護了一個指向自身的指針,這個指針稱為_指針。41、處于同一層次的各基類構(gòu)造函數(shù)的執(zhí)行順序取決于_所指定的各基類的順序。42、_是用來初始化類的數(shù)據(jù)成員的一種特殊的成員函數(shù)。43、受保護的成員不能被外界引用,但它可以被派生類的_引用。44、靜態(tài)聯(lián)編工作是在_階段完成的。45、在C+中,對虛函數(shù)來說,不能聲明_,但可以聲明虛析構(gòu)函數(shù)46、_成員函數(shù)的實現(xiàn)中不能直接引用類中說明的非靜態(tài)成員。47、const char *p說明了p是指向_的指針。48、通常,類的成員函數(shù)的訪問模式是_,數(shù)據(jù)成員的訪問模式是_。49、當用受保護的繼承從基類派生一個類時,基類的公有成員成為派生類的_成員,基類的受保護成員成為派生類的_成員。50、如果一個類包含一個或多個純虛函數(shù),則該類為_。三、選擇題1、下列有關(guān)類的說法不正確的是_。 類是一種用戶自定義的數(shù)據(jù)類型; 只有類中的成員函數(shù)或友元函數(shù)才能存取類中的私有成員; 在類中,如果不作特別說明,所有的數(shù)據(jù)均為私有類型; 在類中,如果不作特別說明,所有的成員函數(shù)均為公有類型;2、局部變量可以隱藏全局變量,那么在有同名全局變量和局部變量的情形時,可以用_提供對全局變量的訪問。 作用域運算符 指針運算符 提取運算符 插入運算符3、類模板的使用實際上是將類模板實例化成一個具體的_。 函數(shù) 對象 類 類的成員4、下列輸出字符d的方法中,_是錯誤的。 cout<<put(d); cout<<d; cout.put(d); char a=d; cout<<a;5、已知類A中一個成員函數(shù)說明為: void set(A &a); ,其中A &a的含意是_。 指向類A的指針為a; 將a的地址值賦值給變量set; a是類A的對象引用,用來作函數(shù)set( )的形參; 變量A與a按位相與作為函數(shù)set( )的參數(shù);6、派生類的構(gòu)造函數(shù)的成員初始化列表中,不能包含_。 基類的構(gòu)造函數(shù); 派生類中子對象的初始化; 基類的子對象初始化; 派生類中一般數(shù)據(jù)成員的初始化;7、關(guān)于引用,下列的說法中錯誤的是_。引用是給被引用的變量取一個別名;引用主要是用來作函數(shù)的形參和函數(shù)的返回值;在聲明引用時,要給它另開辟內(nèi)存單元;在聲明引用時,必須同時使它初始化;8、在下列說法中,_不會調(diào)用拷貝初始化構(gòu)造函數(shù)。 當對象作為函數(shù)實參傳遞給函數(shù)形參時; 明確表示由一個對象初始化另一個對象時; 用賦值運算符”=”將一個對象賦給另一個同類對象時; 當對象作為函數(shù)返回值時;9、_是不可以作為某類的成員的。自身類對象的指針自身類的對象自身類對象的引用另一個類的對象10、關(guān)于虛函數(shù)的描述中,_是正確的。 虛函數(shù)是一個static類型的成員函數(shù); 虛函數(shù)是一個非成員函數(shù); 基類中說明了虛函數(shù)后,派生類中與其對應(yīng)的函數(shù)可不必說明為虛函數(shù); 派生類的虛函數(shù)與基類的同名虛函數(shù)應(yīng)具有不同的參數(shù)個數(shù)和類型;11、下列四項選擇中,_不是流類的對象。 cin cout buff cerr12、下列關(guān)于const限定符的說法中,錯誤的是_。 const限定符是左結(jié)合的,即它修飾在它左邊的類型; 在說明const變量時,必須對該變量進行初始化; 與宏定義符號常量的區(qū)別是,const將產(chǎn)生一個具有類型的符號; const變量是常量變量,所以一個const變量可以被多次賦予不同的常量;13、在下列的各類函數(shù)中,_不是類的成員函數(shù)。構(gòu)造函數(shù)析構(gòu)函數(shù)友元函數(shù)拷貝初始化構(gòu)造函數(shù)14、_不是析構(gòu)函數(shù)的特征。 一個類中只能定義一個析構(gòu)函數(shù); 析構(gòu)函數(shù)名與類名相同; 析構(gòu)函數(shù)只是用來釋放對象,所以析構(gòu)函數(shù)是空函數(shù); 析構(gòu)函數(shù)不指定數(shù)據(jù)類型,并且也沒有參數(shù);15、下述靜態(tài)數(shù)據(jù)成員的特性中,_是錯誤的。 說明靜態(tài)數(shù)據(jù)成員時前面要加修飾符static; 靜態(tài)數(shù)據(jù)成員要在類體外進行初始化; 在程序中引用公有靜態(tài)數(shù)據(jù)成員時,要在靜態(tài)數(shù)據(jù)成員名前加<類名>和作用域運算符; 靜態(tài)數(shù)據(jù)成員是個別對象所共用的;16、具有轉(zhuǎn)換函數(shù)功能的構(gòu)造函數(shù),應(yīng)該是_。 不帶參數(shù)的構(gòu)造函數(shù); 帶有一個參數(shù)的構(gòu)造函數(shù); 帶有兩個以上參數(shù)的構(gòu)造函數(shù); 缺省構(gòu)造函數(shù);17、下列繼承方式中,_種繼承方式是錯的。公有繼承;私有繼承;完全繼承;保護繼承;18、下列對繼承關(guān)系的描述中,_是對的。 在公有繼承中,基類中的公有成員和私有成員在派生類中都是可見的; 在公有繼承中,基類中只有公有成員對派生類的對象是可見的; 在私有繼承中,基類中只有公有成員對派生類是可見的; 在私有繼承中,基類中的保護成員對派生類的對象是可見的;19、對定義重載函數(shù)的下列要求中,_是錯誤的。 要求參數(shù)的個數(shù)不同; 要求參數(shù)中至少有一個類型不同; 要求參數(shù)個數(shù)相同時,參數(shù)類型不同; 參數(shù)個數(shù)和類型相同時,要求函數(shù)的返回值不同;20、當一個函數(shù)無返回值時,定義它時函數(shù)的類型應(yīng)是_。 void 任意 int 無21、重載函數(shù)在調(diào)用時選擇的依據(jù)中,錯誤的是_。參數(shù)個數(shù)參數(shù)的類型參數(shù)的位置 函數(shù)的返回值類型22、有關(guān)構(gòu)造函數(shù)的說法不正確的是_。 構(gòu)造函數(shù)的名字和類的名字一樣; 構(gòu)造函數(shù)在說明類的對象時自動執(zhí)行; 構(gòu)造函數(shù)無任何函數(shù)類型; 構(gòu)造函數(shù)有且僅有一個;23、下列的_是函數(shù)的引用調(diào)用。 形參是指針,實參是地址值; 形參是變量,實參是引用; 形參是指針,實參是數(shù)組名; 形參是引用,實參是變量;24、在一個被調(diào)用函數(shù)中,關(guān)于return語句使用的描述,_是錯誤的。 被調(diào)用函數(shù)中可以不用return語句; 被調(diào)用函數(shù)中可以使用多個return語句; 被調(diào)用函數(shù)中,如果有返回值,就一定要有return語句; 被調(diào)用函數(shù)中,一個return語句可返回多個值給調(diào)用函數(shù);25、在C+中,關(guān)于下列設(shè)置參數(shù)默認值的描述中,_是正確的。 不允許設(shè)置參數(shù)的默認值; 設(shè)置參數(shù)默認值只能在定義函數(shù)時設(shè)置; 設(shè)置參數(shù)默認值時,應(yīng)該是先設(shè)置右邊的再設(shè)置左邊的; 設(shè)置參數(shù)默認值時,應(yīng)該全部參數(shù)都設(shè)置;26、關(guān)于new運算符的下列描述中,_是錯誤的。 它可以用來動態(tài)創(chuàng)建對象和對象數(shù)組; 使用它創(chuàng)建的對象和對象數(shù)組可以使用運算符delete刪除; 使用它創(chuàng)建對象時要調(diào)用構(gòu)造函數(shù); 使用它創(chuàng)建對象數(shù)組時必須指定初始值;27、運算符*的功能是_。 用來表示指向?qū)ο笾羔槍χ赶蝾惓蓡T指針的操作; 用來表示對象對指向類成員指針的操作; 用來表示指向?qū)ο笾羔槍︻惓蓡T的操作; 用來表示對象對類成員的操作;28、在一個函數(shù)中,要求通過函數(shù)來實現(xiàn)一種不太復(fù)雜的功能,并且要求加快執(zhí)行速度,選用_合適。 內(nèi)聯(lián)函數(shù) 重載函數(shù) 遞歸函數(shù) 嵌套調(diào)用29、采用函數(shù)重載的目的在于_。 實現(xiàn)共享 減少空間 提高速度 使用方便,提高可讀性30、下列函數(shù)中,_不能重載。成員函數(shù)非成員函數(shù)析構(gòu)函數(shù)構(gòu)造函數(shù)31、在下列關(guān)鍵字中,用以說明類中公有成員的是_。 public private protected friend32、有關(guān)類和對象的說法下列不正確的有_。 對象是類的一個實例; 任何一個對象只能屬于一個具體的類; 一個類只能有一個對象; 類與對象的關(guān)系和數(shù)據(jù)類型與變量的關(guān)系相似;33、在下列關(guān)于標準輸入流的描述中,正確的是_。 流提取運算符不能自動識別變量的類型,所以要用輸入格式控制串; 變量和流提取運算符一起使用時,要象scanf函數(shù)那樣在變量前加上&; cin與流提取運算符”>>”一起,將從鍵盤輸入的數(shù)送到變量中保存起來; 使用標準輸入流,必須包含頭文件”stdlib.h”;34、_是構(gòu)造函數(shù)的特征。 構(gòu)造函數(shù)的函數(shù)名與類名不同; 一個類中只能定義一個構(gòu)造函數(shù); 構(gòu)造函數(shù)可以設(shè)置缺省參數(shù); 構(gòu)造函數(shù)必須指定類型說明;35、+語言中規(guī)定函數(shù)的返回值的類型是由_。 return語句中的表達式類型所決定; 調(diào)用該函數(shù)的主調(diào)用函數(shù)類型決定; 調(diào)用該函數(shù)時系統(tǒng)臨時決定; 在定義該函數(shù)時所指定的函數(shù)類型所決定;36、下列對派生類的描述中,_是錯的。 一個派生類可以作為另一個派生類的基類; 派生類中繼承的基類成員的訪問權(quán)限到派生類保持不變; 派生類的成員除了它自己的成員外,還包含了它的基類的成員; 派生類至少有一個基類;37、帶有虛基類的多層派生類構(gòu)造函數(shù)的成員初始化列表中都要列出虛基類的構(gòu)造函數(shù),這樣將對虛基類的子對象初始化_。與虛基類下面的派生類個數(shù)有關(guān);多次;二次;一次;38、關(guān)于繼承中出現(xiàn)的二義性的描述中,_是錯的。 一個派生類的兩個基類中都有某個同名成員,在派生類中對這個成員的訪問可能出現(xiàn)二義性; 解決二義性的最常用的方法是對成員名的限定法; 在單繼承情況下,派生類中對基類成員的訪問也會出現(xiàn)二義性; 一個派生類是從兩個基類派生出來的,而這兩個基類又有一個共同的基類,對該基類成員進行訪問時,也可能出現(xiàn)二義性;39、已知f1( )是類A的公有成員函數(shù),p是指向成員函數(shù)f1( )的指針,采用_是正確的。p=f1; p=A:f1; p=A:f1( ); p=f1( );40、關(guān)于動態(tài)聯(lián)編的下列描述中,_是錯誤的。 動態(tài)聯(lián)編是以虛函數(shù)為基礎(chǔ)的; 動態(tài)聯(lián)編是在運行時確定所調(diào)用的函數(shù)代碼的; 動態(tài)聯(lián)編調(diào)用函數(shù)操作是用指向?qū)ο蟮闹羔樆驅(qū)ο笠茫?動態(tài)聯(lián)編是在編譯時確定操作函數(shù)的;41、下面是面向?qū)ο蟪绦蛟O(shè)計的特點,而_不是的。 多態(tài)性 封裝性 隱藏性 繼承性42、關(guān)于成員函數(shù)特征的下述描述中,_是錯誤的。 成員函數(shù)一定是內(nèi)聯(lián)函數(shù); 成員函數(shù)可以重載; 成員函數(shù)可以設(shè)置參數(shù)的缺省值; 成員函數(shù)可以是靜態(tài)的。43、關(guān)于delete運算符的下列描述中,_是錯的。 它必須用于new返回的指針; 它也適用于空指針; 對一個指針可以使用多次該運算符; 指針名前只用一對方括號,不管所刪除數(shù)組的維數(shù)。44、設(shè)置虛基類的目的是_。簡化程序;消除二義性;提高運行效率;減少目標代碼;45、下列運算符中,_運算符在C+中不能重載。?: + new <=46、下列關(guān)于運算符重載的描述中,_是正確的。 運算符重載可以改變運算數(shù)的個數(shù); 運算符重載可以改變優(yōu)先級; 運算符重載可以改變結(jié)合性; 運算符重載不可以改變語法結(jié)構(gòu);47、如果一個類至少有一個純虛函數(shù),那么就稱該類為_。抽象類虛基類派生類以上都不對48、對基類和派生類的關(guān)系描述中,_是錯誤的。 派生類是基類的具體化; 派生類是基類的子集; 派生類是基類定義的延續(xù); 派生類是基類的組合;49、已知:print( )函數(shù)是一個類的常成員函數(shù),它無返回值,下列表示中,_是正確的。 void print( ) const const void print( ) void const print( ) void print(const)50、派生類的對象對它的基類成員中,_是可以訪問的。 公有繼承的公有成員; 公有繼承的私有成員; 公有繼承的保護成員; 私有繼承的公有成員。四、簡答題1、 什么叫做靜態(tài)成員函數(shù)?它有何特點?2、在繼承體制中,試分析基類中某成員函數(shù)是虛函數(shù)與不是虛函數(shù)有何不同?3、試解釋純虛函數(shù)與函數(shù)體為空的虛函數(shù)的相似及不同之處。4、為什么說C+中的運算符<<和>>是重載的運算符?5、什么是動態(tài)聯(lián)編?在什么情況下可以實現(xiàn)動態(tài)聯(lián)編?6、拷貝初始化構(gòu)造函數(shù)是一特殊的成員函數(shù),在什么情況下系統(tǒng)會自動調(diào)用它?7、多繼承下,可能造成對基類中某個成員訪問的不唯一性,稱為對基類成員訪問的二義性問題。試舉例說明,多繼承時,在什么情況下會產(chǎn)生二義性? 8、如果在類模板的定義中有一個靜態(tài)數(shù)據(jù)成員,則在程序運行中會產(chǎn)生多少個相應(yīng)的靜態(tài)變量?9、派生類的對象可以賦給基類對象,反過來行嗎?為什么?10、構(gòu)造函數(shù)可以是虛函數(shù)嗎?試說明。五、寫出下列程序的運行結(jié)果1、 #include "iostream.h"class A public:A(int i=0) m=i; cout<<"Constructor called."<<m<<endl; void set(int i) m=i; void print( ) const cout<<m<<endl; A( ) cout<<"Destructor called."<<endl; private: int m;void fun(const A &c) c.print( ); void main( ) fun(5); Ans:Constructor called.55Destructor called.2、 #include "iostream.h"class A public: A( ) a=0; b=0; cout<<"Default constructor called."<<endl; A(int i, int j) a=i; b=j; cout<<"Constructor: a="<<a<<" ,b="<<b<<endl; A( ) cout<<"Destructor called."<<endl; void set(int i, int j) a=i; b=j; void print( ) cout<<"a="<<a<<" ,b="<<b<<endl; private: int a, b;void main( ) A a3; for(int i=0; i<3; i+) ai.set(2*i+1,(i+1)*2); ai.print( ); Ans:Default constructor called.Default constructor called.Default constructor called.a=1 ,b=2a=3 ,b=4a=5 ,b=6Destructor called.Destructor called.Destructor called.3、 #include "iostream.h"class B public: B( ) B(int i,int j) a=i, b=j; void printb( ); private: int a,b;class A public: A( ) A(int i, int j):c(i,j) void printa( ); private: B c;void B:printb( ) cout<<"a="<<a<<", b="<<b<<endl; void A:printa( ) c.printb( ); void main( ) A ob(7,8); ob.printa( );Ans: a=7, b=84、 #include "iostream.h"class A public:A(int i,int j) x=i; y=j; friend int fun(A &a);private: int x, y;int fun(A &a) a.x=a.x*a.y; return a.x;void main( ) A ob1(4,7),ob2(5,9); cout<<fun(ob1)<<","<<fun(ob2)<<endl;Ans:28,455、 #include "iostream.h"class A public: A(int i, int j) a=i; b=j; void move(int i, int j) a+=i; b+=j; void disp( ) cout<<"("<<a<<","<<b<<")"<<endl; private: int a, b;class B: public A public: B(int i, int j, int k, int l):A(i,j), x(k), y(l) void disp( ) cout<<x<<","<<y<<endl; void fun( ) move(3,5); private: int x, y; ;void main( ) A e(1,2); e.disp( ); B d(3, 4, 5, 6); d.fun( ); d.A:disp( ); d.disp( ); Ans:(1,2)(6,9)5,66、 #include "iostream.h"class A public: void seta(int x) a=x; void showa( ) cout<<a<<" " private: int a;class B public: void setb(int x) b=x; void showb( ) cout<<b<<" " private: int b;class C:public A,public B public: void setc(int x, int y, int z) c=z; seta(x); setb(y); void showc( ) showa( ); showb( );cout<<c<<endl; private: int c;void main( ) C c; c.setc(1,2,3); c.showc( ); Ans:1 2 37、 #include “iostream.h” class J public: J(int i, int j) a=i*j; display( ); virtual void display( ) cout<<”J:display( ) called.”<< a<<endl; protected: char a; ; class P1: public J public: P1(int i, int j): J(i, j) p=i+j; display( ) ; void display( ) cout<<”P1:display( ) called.”<<p<<endl; private: int p; ; void main( ) P1 ob(14, 7); Ans:J:display( ) called.bP1:display( ) called.21Press any key to continue8、 #include “iostream.h” class number public: number( ) count+; number( ) count- -; static int HMS( ) return count; private: static int count; ; int number:count=20; void main( ) number a1, a2, a3,a4; cout<<number:HMS( ) <<endl; a1.number( ); cout<<number:HMS( )<<endl; Ans:24239、# include <iostream.h> class A int a,b; public : A() a=b=0; A(int aa,int bb) a=aa; b=bb; cout <<a<< <<b<<endl; ; void main() A x,y(2,3),z(4,5); 2 34 510、#include<iostream.h> class FOO public: FOO(int i) cout<<"Constructing.n" pointer=new int; *pointer=i; FOO(const FOO& other) cout<<"Copy Constructing.n" pointer=new int; *pointer=*other.pointer; FOO() cout<<"Destructingn" delete pointer; int get() return *pointer; private: int *pointer; ; void display(FOO obj) cout<<obj.get()<<"n" return; void main() FOO obj1(15); FOO obj2=obj1; display(obj2); Constructing.Copy Constructing.Copy Constructing.15DestructingDestructingDestructing11#include<iostream.h>class Apublic: int n;class B:public A;class C:public A;class D:public B,public C int getn()return B:n;void main() D d; d.B:n=10; d.C:n=20; cout<<d.B:n<<","<<d.C:n<<endl;10,2012、#include <iostream.h>class Aprivate:static int n;int X;public:A(int x=0) X=x; n+; A() n- ; static int GetNum() return n; void print();void A:print() cout << "n=" << n << ", X=" << X<< endl; int A:n = 0;void main() A *p=new A(12); p->print(); A a(34); a.print(); delete p; cout << "n=" << A:GetNum() << endl;n=1, X=12n=2, X=34n=1Press any key to continue13、#include<iostream.h>class Sampleprivate:int i;static int count;public:Sample( );void display( );Sample:Sample( )i=0;count+;void Sample:display( )cout<<"i="<<i+<<",count="<<count<<endl;int Sample:count=0;void main( )Sample a,b;a.display( );b.display( );i=0,count=2i=0,count=2Press any key to continue14寫出下面程序的輸出結(jié)果。#include <iostream.h>class Base1 public:virtual void display() const;void Base1:display() const cout << "Base1:display()" << endl;class Base2: public Base1 public:void display() const;void Base2:display() const cout << "Base2:display()" << endl;class Derived: public Base2 public:void display() const; ;void Derived:display() const cout << "Derived:display()" << endl;void fun(Base1 *ptr) ptr->display();void main() Base1 base1;Base2 base2;Derived derived;fun(&base1);fun(&base2);fun(&derived);運行結(jié)果:Base1:display()Base2:display()Derived:display()15用一句話概括下面程序的功能,并在”/”后加上注釋。#include"iostream.h"#include"fstream.h"void main()char ch;ifstream myin("file_from");if(!myin) / cout<<"cannot open file: file_from"ofstream myout("file_to");if(!myout)cout<<"cannot open file: file_to"while(myin.get(ch)myout.put(ch); / myin.close();myout.close();功能:_功能是:將文件file_from的內(nèi)容復(fù)制到文件file_to中。(3分)注釋: 判斷是否可以打開文件,myin=0為不可以,myin=1為可以。(1分)注釋:向文件讀、寫數(shù)據(jù)。(1分)16class Basepublic:virtual void fn(int x) cout<<"In Base class,int x="<<x<<endl;class SubClass:public Basepublic:virtual void fn(int f) cout<<"In SubClass,int f="<<f<<endl;void test(Base &t) t.fn(5.5);void main()Base b;SubClass s;b.fn(10);s.fn(5.5);cout<<"nCalling test(b):n"test(b);cout<<"nCalling test(s):n"test(s);Ans:In Base class,int x=10In SubClass,int f=5Calling test(b):In Base class,int x=5Calling test(s):In SubClass,int f=5Press any key to continue六、簡答題1什么叫函數(shù)重載?重載的函數(shù)要滿足什么條件?僅函數(shù)的返回值類型不同可以進行函數(shù)重載嗎?2簡述面向?qū)ο蠹夹g(shù)的四個基本特征。3簡述面向?qū)ο蠹夹g(shù)支持的四種多態(tài)性。4試解釋純虛函數(shù)與函數(shù)體為空的虛函數(shù)的相似及不同之處。5若派生類與其基類中有同名成員,試圖通過派生類對象訪問該同名成員時,可訪問到的是派生類中的還是基類中的成員?跟據(jù)上述理解,分析下面的類體系。 Class A Public: int i; Void f(float); ; class B: public A public: int i; void f(int); ; 則下面的訪問是否具有二義性(b為類B的一個對象)? b.i; b.f(3.5);6 多繼承下,可能造成對基類中某個成員訪問的不唯一性,稱為對基類成員訪問的二義性問題。試舉例說明,多繼承時,在什么情況下會產(chǎn)生二義性?7簡述賦值兼容規(guī)則。8什么是動態(tài)聯(lián)編?在什么情況下可以實現(xiàn)動態(tài)聯(lián)編?9 三種派生類繼承方式有什么不同?各用在什么情況下?10什么叫基類?什么叫派生類?基類中保護成員的訪問權(quán)限是什么?11什么叫參數(shù)多態(tài)性?什么叫模板?模板方法是怎樣解決參數(shù)多態(tài)性問題的?12 解釋函數(shù)模板和模板函數(shù)。13 解釋類模板和模板類。其中,哪個可以用來定義對象?14 解釋模板形參、模板實參和參數(shù)實例化。15 什么叫流?什么叫流類?數(shù)據(jù)從源對象到目的對象的傳送可以抽象看作為一個流。流是抽象的概念,其職責(zé)是在數(shù)據(jù)的產(chǎn)生者和數(shù)據(jù)的使用者之間建立聯(lián)系,并負責(zé)管理數(shù)據(jù)的流動。描述流的類稱為流類。16 什么叫操作符?操作符有什么功能?怎樣使用操作符?17寫出文件操作的基本步驟。1)打開文件2)對文件進行操作3)關(guān)閉文件七、編程 1、 編寫重載函數(shù)max1可分別求取兩個整數(shù)、三個整數(shù)、兩個雙精度數(shù)、三個雙精度數(shù)的最大值(數(shù)值自定)。2、 使用函數(shù)重載的方法定義兩個重名函數(shù),分別求出整數(shù)型的兩點間距離和浮點

注意事項

本文(《C語言程序設(shè)計》作業(yè)題.doc)為本站會員(小**)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!