<span id="plx27"><var id="plx27"></var></span>
<dfn id="plx27"><var id="plx27"></var></dfn>
  • <span id="plx27"><code id="plx27"><input id="plx27"></input></code></span>
    <menu id="plx27"></menu><menuitem id="plx27"><thead id="plx27"><input id="plx27"></input></thead></menuitem>
  • <label id="plx27"><code id="plx27"></code></label>
    <label id="plx27"><button id="plx27"></button></label>
  • 歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
    裝配圖網(wǎng)
    ImageVerifierCode 換一換
    首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

    面向?qū)ο蟪绦蛟O(shè)計題庫(C++)

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

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

    面向?qū)ο蟪绦蛟O(shè)計題庫(C++)

    一、單項選擇題1. 在C+語言中,對函數(shù)參數(shù)默認(rèn)值描述正確的是:( D ) A) 函數(shù)參數(shù)的默認(rèn)值只能設(shè)定一個B) 一個函數(shù)的參數(shù)若有多個,則參數(shù)默認(rèn)值的設(shè)定可以不連續(xù)C) 函數(shù)參數(shù)必須設(shè)定默認(rèn)值D) 在設(shè)定了參數(shù)的默認(rèn)值后,該參數(shù)后面定義的所有參數(shù)都必須設(shè)定默認(rèn)值2. 假定 AB 為一個類,則執(zhí)行 AB x ;語句時將自動調(diào)用該類的( B ) 。 A) 有參構(gòu)造函數(shù) B) 無參構(gòu)造函數(shù) C) 拷貝構(gòu)造函數(shù) D) 賦值構(gòu)造函數(shù)3. 下述關(guān)于開關(guān)語句的描述中,( )是正確的。A) 開關(guān)語句中default子句可以沒有,也可以有一個;B) 開關(guān)語句中每個語句序列中必須有break語句;C) 開關(guān)語句中default子句只能放在最后;D) 開關(guān)語句中case子句后面的表達式可以是整形表達式。4. 關(guān)于對象概念的描述中,( ) 是錯誤的。A) 對象就是C語言中的結(jié)構(gòu)變量;B) 對象代表著正在創(chuàng)建的系統(tǒng)中的一個實體;C) 對象是一個狀態(tài)和操作(或方法)的封裝體;D) 對象之間的信息傳遞是通過消息進行的;5. 下列給字符數(shù)組進行初始化中,( )是正確的。A) char s1 ="12345abcd" B) char s23="xyz" C) char s33= a, x, y; D) char s423="xyz","mnp"6. 在int a3=1,3,2,4,5,6,0中,a22的值是 ( ) 。A) 3 B) 2 C) 6 D) 47. 聲明類test的拷貝構(gòu)造函數(shù)的正確形式是 ( D ) 。 A) int test B) void test C) test(void) D) test(test&)8. 關(guān)于new運算符的下列描述中,( ) 是錯的。A) 它可以用來動態(tài)創(chuàng)建對象和對象數(shù)組;B) 使用它創(chuàng)建的對象或?qū)ο髷?shù)組可以使用運算符delete刪除;C) 使用它創(chuàng)建對象時要調(diào)用構(gòu)造函數(shù);D) 使用它創(chuàng)建對象數(shù)組時必須指定初始值。9. 在 C+ 中有以下 4 條語句: static int hot=200;int &rad=hot; hot=hot+100;cout<<rad<<endl; 執(zhí)行這 4 條語句后輸出為:( ) 。 A) 0 B) 100 C) 300 D) 20010. 下列關(guān)于構(gòu)造函數(shù)的描述中,錯誤的是 ( B ) 。A) 構(gòu)造函數(shù)可以設(shè)置默認(rèn)參數(shù);B) 構(gòu)造函數(shù)在聲明對象時自動執(zhí)行;C) 構(gòu)造函數(shù)可以對靜態(tài)數(shù)據(jù)成員進行初始化;D) 構(gòu)造函數(shù)可以重載;11. 下面關(guān)于重載函數(shù)的說明中正確的是( )。 A) 重載函數(shù)必須具有不同的返回類型。 B) 重載函數(shù)形參的個數(shù)必須不同 C) 重載函數(shù)必須具有不同的形式參數(shù)表 D) 重載函數(shù)名可以不同 12. 下列關(guān)于C+函數(shù)的說明中,正確的是( )。 A) 內(nèi)聯(lián)函數(shù)就是定義在另一個函數(shù)體內(nèi)部的函數(shù) B) 函數(shù)體的最后一條語句必須是 return 語句 C) C+要求在調(diào)用一個函數(shù)前必須先聲明其原型 D) 編譯器會根據(jù)函數(shù)的返回值類型和參數(shù)表來區(qū)分函數(shù)的不同重載形式 13. 已知函數(shù)原型為: void foo(int*, long &b); 實參定義為: int i; long f; 則正確的調(diào)用語句是( ). A) foo(i, &f); B) foo(i, f); C) foo(&i, f); D) foo(&i, &f); 14. C+中對于結(jié)構(gòu)中定義的成員,其默認(rèn)的訪問權(quán)限為( )。 A) public B) protected C) private D) static 15. 下列關(guān)于類與對象的說法中,不正確的是( )。 A) 對象是類的一個實例 B) 任何對象只能屬于一個具體的類 C) 一個類只能有一個對象 D) 類與對象的關(guān)系和數(shù)據(jù)類型與變量的關(guān)系相似16. 下列關(guān)于構(gòu)造函數(shù)的描述中錯誤的是( ) A) 構(gòu)造函數(shù)可以設(shè)置默認(rèn)參數(shù) B) 構(gòu)造函數(shù)在定義類對象時自動執(zhí)行 C) 構(gòu)造函數(shù)可以對靜態(tài)數(shù)據(jù)成員進行初始化 D) 構(gòu)造函數(shù)不可以重載 17. 類的析構(gòu)函數(shù)的作用是( )。 A) 作為類的一般成員函數(shù) B) 類的初始化 C) 對象的初始化 D) 對象的刪除18. 以下關(guān)于靜態(tài)數(shù)據(jù)成員的描述正確的是( )。A) 靜態(tài)數(shù)據(jù)成員可以在類體中進行初始化 B) 靜態(tài)數(shù)據(jù)成員不可以被類的實例調(diào)用C) 靜態(tài)數(shù)據(jù)成員不能受protected控制符的作用 D) 靜態(tài)數(shù)據(jù)成員可以直接用類名調(diào)用 19. 下面關(guān)于友元函數(shù)的描述中正確的是( )。 A) 友元函數(shù)的實現(xiàn)必須在類的內(nèi)部定義 B) 友元函數(shù)是類的成員函數(shù) C) 友元函數(shù)破壞了類的封裝性和隱藏性 C) 友元函數(shù)不能訪問類的私有成員 20. 下面關(guān)于友元函數(shù)的描述中錯誤的是( )。 A) 如果類A是類B的友元,那么類B也是類A的友元 B) 如果函數(shù)fun()被說明為類A的友元,那么在fun()中可以訪問類A的私有成員 C) 友元關(guān)系不能被繼承 D) 如果類A是類B的友元,那么類A的所有成員函數(shù)都是類B的友元函數(shù) 21. 下列屬于C+語句的是 。A) ; B) a=17 C) a+5 D) cout<<n22. 執(zhí)行語句k=30;j=k+;后k和j的值分別為 。A) k=30,j=30 B) k=30,j=31C) k=31,j=30 D) k=31,j=3123. 若X是一個bool型變量,則X && 5<3的值 。A) 為true B) 為falseC) 與X的值相同 D) 與X的值相反24. 如果a=1,b=2,c=3,d=4,則條件表達式“a>b?a:c<d?c:d ” 的值為 。A) 3 B) 2 C) 1 D) 425. 執(zhí)行下列語句后的輸出結(jié)果是 。int hot=100;int &rad=hot;hot+=100;cout<<rad<<endl;A) 0 B) 100C) 200 D) 30026. 下列關(guān)于break語句的敘述不正確的是 。A) break語句可用于循環(huán)體中,它將使執(zhí)行流程跳出本層循環(huán)體;break語句可用于switch語句中,它將使執(zhí)行流程跳出當(dāng)前的switch語句;break語句可用于if語句中,它將使執(zhí)行流程跳出當(dāng)前if語句;break語句在一層循環(huán)體中可以出現(xiàn)多次。27. 下面關(guān)于類的對象性質(zhì)的描述,正確的是 。A) 對象之間不可以相互賦值 B) 不可以說明指向?qū)ο蟮闹羔楥) 對象不能用作數(shù)組元素 D) 一個對象能用作另一個對象的成員28. 在 C+ 中實現(xiàn)封裝是借助于 。A) 枚舉 B) 類 C) 數(shù)組 D) 函數(shù)29. 下列不是描述類的成員函數(shù)的是 。A) 構(gòu)造函數(shù) B) 析構(gòu)函數(shù) C) 友元函數(shù) D) 拷貝構(gòu)造函數(shù)30. 不能作為函數(shù)重載判斷依據(jù)的是 。A) 參數(shù)個數(shù) B) 參數(shù)類型C) 函數(shù)名稱 D)返回值類型31. 假定一個類的構(gòu)造函數(shù)為 A(int aa,int bb)a=aa+;b=a*bb+; ,則執(zhí)行 A X(4,5); 語句后, X.a 和 X.b 的值分別為 。 A) 4 和 5 B) 5 和 30 C) 4 和 20 D) 20 和 532. 對于double (*p)10;的描述, 是正確的。A) p是一個指向數(shù)組的指針,所指向的數(shù)組是10個double型元素;B) p是一個指向某個數(shù)組中第10個元素的指針,該元素是double型變量;C) p5表示某個數(shù)組的第10個元素的值;D) p是一個具有10個元素的指針數(shù)組,每個元素是一個double型指針;33. 下面的函數(shù)聲明中, 哪一個是” void BC(int a, int b);”的重載函數(shù)? A) int BC(int a, int b) B) void BC(int a, char b) C) float BC(int a, int b, int c = 0) D) void BC(int a, int b=0)34. 已知 char c; char * const pc=asdf, 是正確的。A) pc=dfgh B) *pc=bC) *pc+=y D) pc=&c35. 下列關(guān)于構(gòu)造函數(shù)的敘述,錯誤的是 。 A) 構(gòu)造函數(shù)可以設(shè)置默認(rèn)參數(shù);B) 構(gòu)造函數(shù)在說明類變量時自動調(diào)用;C) 構(gòu)造函數(shù)可以對靜態(tài)數(shù)據(jù)成員進行初始化;D) 構(gòu)造函數(shù)可以重載;36. 下列關(guān)于構(gòu)造函數(shù)的描述中錯誤的是( ) A) 構(gòu)造函數(shù)可以設(shè)置默認(rèn)參數(shù) B) 構(gòu)造函數(shù)在定義類對象時自動執(zhí)行 C) 構(gòu)造函數(shù)可以對靜態(tài)數(shù)據(jù)成員進行初始化 D) 構(gòu)造函數(shù)不可以重載37. 類的析構(gòu)函數(shù)的作用是( )。 A) 作為類的一般成員函數(shù) B) 類的初始化 C) 對象的初始化 D) 對象的刪除38. 以下關(guān)于靜態(tài)數(shù)據(jù)成員的描述正確的是( )。A) 靜態(tài)數(shù)據(jù)成員可以在類體中進行初始化 B) 靜態(tài)數(shù)據(jù)成員不可以被類的實例調(diào)用C) 靜態(tài)數(shù)據(jù)成員不能受protected控制符的作用 D) 靜態(tài)數(shù)據(jù)成員可以直接用類名調(diào)用39. 下面關(guān)于友元函數(shù)的描述中正確的是( )。 A) 友元函數(shù)的實現(xiàn)必須在類的內(nèi)部定義 B) 友元函數(shù)是類的成員函數(shù) C) 友元函數(shù)破壞了類的封裝性和隱藏性 C) 友元函數(shù)不能訪問類的私有成員40. 下面關(guān)于友元函數(shù)的描述中錯誤的是( )。 A) 如果類A是類B的友元,那么類B也是類A的友元 B) 如果函數(shù)fun()被說明為類A的友元,那么在fun()中可以訪問類A的私有成員 C) 友元關(guān)系不能被繼承 D) 如果類A是類B的友元,那么類A的所有成員函數(shù)都是類B的友元函數(shù) 41. 重載函數(shù)在調(diào)用時選擇的依據(jù)中,錯誤的是 ( ) A. 函數(shù)的參數(shù) B. 參數(shù)的類型 C. 函數(shù)的名字 D. 函數(shù)的類型 42. 一個函數(shù)功能不太復(fù)雜,但要求被頻繁調(diào)用,選用 ( . ) A. 內(nèi)聯(lián)函數(shù) B. 重載函數(shù) C. 遞歸函數(shù) D. 嵌套函數(shù) 43. 下列不是描述類的成員函數(shù)的是 ( ) A. 構(gòu)造函數(shù) B. 析構(gòu)函數(shù) C. 友元函數(shù) D. 拷貝構(gòu)造函數(shù) 44. 構(gòu)造函數(shù)不具備的特征的是 ( ) A. 構(gòu)造函數(shù)的函數(shù)名與類名相同 B. 構(gòu)造函數(shù)可以重載 C. 構(gòu)造函數(shù)可以設(shè)置默認(rèn)參數(shù) D. 構(gòu)造函數(shù)可以指定返回類型 45. 通常,拷貝構(gòu)造函數(shù)的參數(shù)是 ( ) A. 某個對象名 B. 某個對象的成員名 C. 某個對象的引用名 D. 某個對象的指針名 46. 繼承機制的作用是 ( ) A. 信息隱藏 B. 數(shù)據(jù)封裝 C. 代碼重用 D. 數(shù)據(jù)抽象 47. 類的析構(gòu)函數(shù)的作用是 ( ) A.一般成員函數(shù) B.類的初始化 C.對象的初始化 D.刪除對象創(chuàng)建的所有對象 48. 類的析構(gòu)函數(shù)是在 ( ) 調(diào)用的。 A. 類創(chuàng)建時 B. 創(chuàng)建對象時 C. 刪除對象時 D. 不自動調(diào)用 49. 已知print ()函數(shù)是一個類無返回值的常成員函數(shù),下列表示中正確的是( )。A.void print()const B.const void print() C.void const print ; D.void print (const ); 50. 如果類 A 被說明成類 B 的友元,則 ( ) A. 類 A 的成員即類 B 的成員 B. 類 B 的成員即類 A 的成員 C. 類 A 的成員函數(shù)不得訪問類 B 的成員 D. 類 B 不一定是類 A 的友元 51. 通過一個對象調(diào)用虛函數(shù)時,C+系統(tǒng)對該調(diào)用采用( )。A.動態(tài)聯(lián)編 B.靜態(tài)聯(lián)編 C.不確定是哪種聯(lián)編 D.函數(shù)重載52. 在公有繼承的情況下,基類成員在派生類中的訪問權(quán)限 ( ) A. 受限制 B. 保持不變 C. 受保護 D. 不受保護 53. 在C+中,當(dāng)一個對象被創(chuàng)建后,它的每一個成員函數(shù)都含有一個系統(tǒng)自動生成的隱含的指針,稱之為( )指針。A.對象 B.派生 C基類 D.this54. 假定 AB 為一個類,則執(zhí)行 AB x ;語句時將自動調(diào)用該類的 ( ) A. 有參構(gòu)造函數(shù) B. 無參構(gòu)造函數(shù) C. 拷貝構(gòu)造函數(shù) D. 賦值構(gòu)造函數(shù) 55. C+ 語言建立類族是通過 ( ) A. 類的嵌套 B. 類的繼承 C. 虛函數(shù) D. 抽象類二、判斷題1、C+中,數(shù)組下標(biāo)從1開始。( 錯 )2、C+允許對字符串進行整體操作。( )3、break語句也可以用于if體內(nèi),它可退出if語句。()4、在說明語句 char a(A),&b=a,*pa=&a;中,b的值與*pa的值相等。( )5、對象數(shù)組的元素可以是不同類的對象。( )6、私有繼承中,基類中所有成員對派生類的對象都是不可見的。()7、類中所提供的成員函數(shù)可以直接訪問私有成員。()8、按照標(biāo)識符的要求,下劃線是不能組成正確標(biāo)識符的。( )9、函數(shù)的默認(rèn)參數(shù)沒有順序要求,可以隨意定義。( )10、在 C+ 語言中,”A”占兩個字節(jié),而 A占一個字節(jié)。( )11、C+語言支持封裝性和繼承性,不支持多態(tài)性。 錯 12、關(guān)系運算符可以用來比較兩個字符的大小,也可用來比較兩個字符串的大小。) 13、字符串"sdfgh"的長度是5。 14、引用和指針都可作函數(shù)參數(shù)。 15、友元函數(shù)說明在類體內(nèi),它是一種成員函數(shù)。 16、友元類必須被說明為公有成員。 17、純虛函數(shù)是在基類中說明的虛函數(shù),它在該基類中沒有定義具體的操作內(nèi)容。 18、析構(gòu)函數(shù)不能被繼承。 19、運算符重載以后,其優(yōu)先級和結(jié)合性都不能改變。 20、在C+中,函數(shù)名實際上是一個指針,它指向函數(shù)的入口。 21、構(gòu)造函數(shù)可以被繼承。( )22、析構(gòu)函數(shù)不能被繼承。( )23、多繼承情況下,派生類的構(gòu)造函數(shù)的執(zhí)行順序取決于定義派生時所指定的各基類的順序。( )24、解決多繼承情況下出現(xiàn)的二義性的方法之一是使用成員名限定法。( )25、函數(shù)的參數(shù)個數(shù)和類型都相同,只是返回值不同,這不是重載函數(shù)。( )26、多數(shù)運算符可以重載,個別運算符不能重載,運算符重載是通過函數(shù)定義實現(xiàn)的。( )27、對每個可重載的運算符來講,它既可以重載為友元函數(shù),又可以重載為成員函數(shù),還可以重載為非成員函數(shù)。( )28、對單目運算符重載為友元函數(shù)時,說明一個形參;重載為成員函數(shù)時,不能顯式說明形參。( )29、重載運算符保持原運算符的優(yōu)先級和結(jié)合性不變。( )30、構(gòu)造函數(shù)說明為純虛函數(shù)是沒有意義的。( )三、簡答題1. 簡述C+的異常處理機制?2C+的預(yù)定義的流對象有哪些?3. 試以客觀世界為例,說明抽象、封裝、繼承性和多態(tài)性等概念。4. 多繼承的情況下為什么會產(chǎn)生二義性?如何消除二義性?5. 試說明 void F(const T &t); 和 inf f() const; 中關(guān)鍵字 const 作用。6.有如下程序#include <iostream>#include <fstream>using namespace std;class B;class Afriend B;public:A()cout<<"in A()"<<endl;A(const A &a)cout<<"in A(const A &a)<<endl;A()cout<<"In A()"<<endl;class B: public Apublic:B()cout<<"In B()"<<endl;B(const A a)cout<<"In B(const A a)"<<endl;void f(A &a)cout<<"In f(A &a)"<<endl;void ff(const B &b)cout<<"In ff(B &b)"<<end;void ff(A a)int main()A a;B bb=a;程序運行的結(jié)果是_7.有如下程序#include <iostream>using namespace std;template <class Type>class HisClassType data;public:HisClass(Type a, Type b, Type c);Type getData();template <class Type> HisClass<Type>:HisClass(Type a, Type b, Type c)if(a>b&&a>c)data=a;elseif(b>c)data=b;elsedata=c;template <class Type> Type HisClass<Type>:getData()return data;int main()HisClass<int> x1(3,4,5), x2(5,3,4), x3(4,5,3), x4(7,8,9), x5(8,7,9);cout<<x1.getData()<<x2.getData()<<x3.getData()<<x4.getData()<<x5.getData()<<endl;system("pause");return 0;程序運行的結(jié)果是_8. 以下程序在運行中出現(xiàn)致命錯誤,找出錯誤原因并修正。#include<iostream>#include<cstring>class sampleprivate:char *string;public:sample(const char *s)string = new charstrlen(s)+1;strcpy(string s);sample()delete string;sample f(char *arg)sample tmp(arg);return tmp;int main()sample local=f("abcd");return 0;9.有如下程序#include<iostream>using namespace std;class Pchar *name;int age;char *add;public:P()cout<<"P"P()cout<<"!P"class S:public Pchar *department;int level;public:S()cout<<"S"S()cout<<"!S"class T: public Pchar *major;float s;public:T()cout<<"T"T()cout<<"!T"int main()S s;T t;system("pause");return 0;程序運行的結(jié)果是_10.有如下程序#include <iostream>using namespace std;class B public:B( ) cout << "B:B( )" << endl; num+;virtual void f( ) = 0;virtual void g( ) = 0;void k( ) f( ); cout << "B:k( )" << endl; g( ); virtual B( ) cout << "B:B( )" << endl;num-;static int getNum( ) return num;private:static int num;class D1: public B public:D1( ) cout << "D1:D1( )" << endl; void f( ) cout << "D1:f( )" << endl;void g( ) cout << "D1:g( )" << endl;D1( ) cout << "D1:D1( )" << endl;class D2: public B public:D2( ) cout << "D2:D2( )" << endl; void f( ) cout << "D2:f( )" << endl;void g( ) cout << "D2:g( )" << endl;D2( ) cout << "D2:D2( )" << endl; ;int B:num = 0;int main( ) B* buf3; buf0 = new D1;buf1 = new D2;buf2 = new D1;int i;cout << B:getNum( ) << endl; for ( i = 0; i<3; i+)bufi->k( );for (i = 0; i<3; i+)delete bufi;cout << B:getNum( ) << endl; system("pause");return 0;程序運行的結(jié)果是_11.有如下程序#include <iostream>using namespace std;class Rpublic:R(int r1, int r2): R1(r1), R2(r2);void print();void print() const;private:int R1, R2;void R:print()cout<<R1<<","<<R2<<endl;void R:print()constcout<<R1<<","<<R2<<endl;int main()R a(5,4);const R b(20,52);b.print();system("pause");return 1;程序運行的結(jié)果是_12.有如下程序#include <iostream>using namespace std;class demopublic:static int constructor, copy_constructor;demo()cout<<"default constructor"<<endl;constructor+;demo(const demo& x)cout<<"copy constructor"<<endl;copy_constructor+;int demo:constructor=0;int demo:copy_constructor=0;demo usercode(demo b)demo c(b);return c;int main()demo a, d;cout<<"calling usercode"<<endl;d=usercode(a);cout<<demo:constructor<<","<<demo:copy_constructor<<endl;system("pause");return 0;程序運行的結(jié)果是_13.有如下程序#include<iostream>using namespace std;class Astatic int m;int n;public:A(int m, int n)m=this->m;n=this->n;Show()cout<<m<<n<<endl;int A:m;int main()A a1(3,4);A a2(5,6);a1.Show();a2.Show();程序運行的結(jié)果是_14.有如下程序#include<iostream>using namespace std;class Pchar *name;int age;char *add;public:P()cout<<"P"P()cout<<"!P"class S:public Pchar *department;int level;public:S()cout<<"S"S()cout<<"!S"class T: public Pchar *major;float s;public:T()cout<<"T"T()cout<<"!T"int main()S s;T t;system("pause");return 0;程序運行的結(jié)果是: 15. 為什么要定義虛析構(gòu)函數(shù)?16.有如下程序#include <iostream>using namespace std;class B public:B( ) cout << "B:B( )" << endl; num+;virtual void f( ) = 0;virtual void g( ) = 0;void k( ) f( ); cout << "B:k( )" << endl; g( ); virtual B( ) cout << "B:B( )" << endl;num-;static int getNum( ) return num;private:static int num;class D1: public B public:D1( ) cout << "D1:D1( )" << endl; void f( ) cout << "D1:f( )" << endl;void g( ) cout << "D1:g( )" << endl;D1( ) cout << "D1:D1( )" << endl;class D2: public B public:D2( ) cout << "D2:D2( )" << endl; void f( ) cout << "D2:f( )" << endl;void g( ) cout << "D2:g( )" << endl;D2( ) cout << "D2:D2( )" << endl; ;int B:num = 0;int main( ) B* buf3; buf0 = new D1;buf1 = new D2;buf2 = new D1;int i;cout << B:getNum( ) << endl; for ( i = 0; i<3; i+)bufi->k( );for (i = 0; i<3; i+)delete bufi;cout << B:getNum( ) << endl; system("pause");return 0;程序運行的結(jié)果是_17.有如下程序#include <iostream>using namespace std;class Rpublic:R(int r1, int r2): R1(r1), R2(r2);void print();void print() const;private:int R1, R2;void R:print()cout<<R1<<","<<R2<<endl;void R:print()constcout<<R1<<","<<R2<<endl;int main()R a(5,4);const R b(20,52);b.print();system("pause");return 1;程序運行的結(jié)果是:18.有如下程序#include <iostream>using namespace std;class B;class Afriend B;public:A()cout<<"in A()"<<endl;A(const A &a)cout<<"in A(const A &a)<<endl;A()cout<<"In A()"<<endl;class B: public Apublic:B()cout<<"In B()"<<endl;B(const A a)cout<<"In B(const A a)"<<endl;void f(A &a)cout<<"In f(A &a)"<<endl;void ff(const B &b)cout<<"In ff(B &b)"<<end;void ff(A a)int main()A a;B bb=a; 19.有如下程序#include <iostream>using namespace std;class demopublic:static int constructor, copy_constructor;demo()cout<<"default constructor"<<endl;constructor+;demo(const demo& x)cout<<"copy constructor"<<endl;copy_constructor+;int demo:constructor=0;int demo:copy_constructor=0;demo usercode(demo b)demo c(b);return c;int main()demo a, d;cout<<"calling usercode"<<endl;d=usercode(a);cout<<demo:constructor<<","<<demo:copy_constructor<<endl;system("pause");return 0;程序運行的結(jié)果是:20. 請分析下面的程序并給出該程序的執(zhí)行結(jié)果。#include<iostream.h>class AAint a;public :AA( )cout<<"Initualizing AA!n"AA( )cout<<"Destroying AA!n"class BBint b;AA p;public :BB( )cout<<"Initualizing BB!n"BB( )cout<<"Destroying BB!n"void main( )BB X;cout<<"Ending main!n"執(zhí)行該程序后,輸出結(jié)果為: 21. 寫出下列程序的運行結(jié)果。#include<iostream>using namespace std;class AAint a;public :AA(int i)a=i;cout<<"AA="<<a<<"n"virtual AA( )cout<<"AA="<<a<<"n"class BB:public AAint b;public :BB(int i,int j):AA(i)b=j;cout<<"BB="<<b<<"n"BB( )cout<<"BB="<<b<<"n"void main( )AA *pa=new AA(8); delete pa;AA*pb=new BB(6,9); delete pb;執(zhí)行該程序后,輸出結(jié)果為: 22. 寫出下面程序的輸出結(jié)果。 #include<iostream.h> class Test private: static int val; int a; public: static int func(); static void sfunc(Test &r); ; int Test:val=20; int Test:func() val-; return val; void Test:sfunc(Test &r) r.a=25; cout<<" Result3="<<r.a; void main() cout<<"Resultl="<<Test:func()<<endl; Test a; cout<<"Result2="<<a.func(); Test:sfunc(a); 執(zhí)行該程序后,輸出結(jié)果為: 23. 寫出下面程序輸出結(jié)果。 # include<iostream.h> class A public: virtual void func()cout<<"func in class A"<< endl; ;class B public: virtual void func()cout<<"func in class B"<< endl; ; class C:public A, public B public: void func()cout<<"func in class C"<<endl; ; void main() C c; A& pa=c; B& pb=c; C& pc=c; pa.func(); pb.func(); pv.func(); 執(zhí)行該程序后,輸出結(jié)果為: 24. 寫出下面程序的輸出結(jié)果。 # include<iostream.h> class Location public: int X,Y; void init(int initX,int initY); int GetX(); int GetY(); ; void Location:init (int initX,int initY) X=initX; Y=initY; int Location:GetX() return X; int Location:GetY() return Y; void display(Location& rL) cout<<rL. GetX()<<" "<<rL.GetY()<<n; void main() Location A5=0,0,1,1,2,2,3,3,4,4; Location *rA=A; A3.init(5,3); rA->init(7,8); for (int i=0;i<5;i+) display(*(rA+); 執(zhí)行該程序后,輸出結(jié)果為:四、程序設(shè)計題1. 以下是一個整數(shù)棧類的定義:const unsigned in SIZE=100;class stackpublic: stack(); stack(); void push(int); void pop(); int pop() const; private: int stackSIZE; int tos;試編寫一個棧的類模板(包括其成員函數(shù)定義),以便為任何類型的對象提供棧結(jié)構(gòu)數(shù)據(jù)的操作。2. 編程從鍵盤輸入x和y的值,計算y=ln(2x-y)的值,要求設(shè)計一個“負(fù)數(shù)求對數(shù)”的異常類,并寫出測試程序。(對數(shù)函數(shù)log()在math.h中定義)3. 寫一個函數(shù),找出給定字符串中具有最大ASCII碼的字符。如字符串"world"中字符w具有最大的ASCII碼。函數(shù)的原型為:char MaxCharacter(char * str);函數(shù)參數(shù):指向所要處理的字符串;函數(shù)返回值:如果不空,則返回具有最大ASCII碼的字符,否則返回空字符0x0或0。4. 它的公有派生類其中包含載人數(shù)passenger_load。卡車類truck是vehicle的公有派生類其中包含載人數(shù)passenger_load和載重量payload,每個類都有相關(guān)數(shù)據(jù)的輸出方法。要求用UML圖來表示各個類及其相互的關(guān)系。5. 根據(jù)下面類中Uion函數(shù)的原型和注釋寫出它的類外定義。classStrings char*s; /指向動態(tài)分配的字符串?dāng)?shù)組空間 intn: /記錄字符串長度 public: Strings(char-*str); /構(gòu)造函數(shù),利用str字符串長度初始化n, /利用str字符串初始化s所指的字符串空間 Strings(Strings&str); /拷貝構(gòu)造函數(shù) Strings& Give(Strings& str); /實現(xiàn)str賦值給*this的功能并返回*this Strings Uion(Strings& str); /實現(xiàn)8this和str中的字符串連接的功能, /把連接結(jié)果存人臨時對象并返回 intLenth()returnn; /返回字符串長度 voidPrint()eout<<s<<endl /輸出字符串;6. 設(shè)計一個文本文件的鏈接類CFileLink,通過該類的使用,可以實現(xiàn)一個文件鏈接到另一個文件的的功能。將2個現(xiàn)有文件 的內(nèi)容復(fù)制到一個新文件中。為了實現(xiàn)文件的復(fù)制需要使用get()函數(shù)讀取字符,用put()函數(shù)寫入字符,從而實現(xiàn)逐個字符的復(fù)制。 class CFileLink fstream file1, file2, file3; char fn120, fn220, fn320; public: CFileLink(); CFileLink(); void linkfile(); / 打開file1, file2,將file1, file2的內(nèi)容寫到file3 void printfile(); / 輸出file3的內(nèi)容 7. 設(shè)計一個文本文件的復(fù)制類CFileCopy,通過該類的使用,可以實現(xiàn)一個文件復(fù)制到另一個文件的的功能。為了實現(xiàn)文件的復(fù)制需要使用get()函數(shù)讀取字符,用put()函數(shù)寫入字符,從而實現(xiàn)逐個字符的復(fù)制。 class CFileCopy fstream file1, file2; char fn120, fn220; public: CFileCopy(); CFileCopy(); void copyfile(); / 打開file1, fil

    注意事項

    本文(面向?qū)ο蟪绦蛟O(shè)計題庫(C++))為本站會員(max****ui)主動上傳,裝配圖網(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),我們立即給予刪除!

    欧美久久久一区二区三区,国产精品亚洲一区二区无码,亚洲国产精品综合久久20声音,亚洲国产精品无码久久久蜜芽
    <span id="plx27"><var id="plx27"></var></span>
    <dfn id="plx27"><var id="plx27"></var></dfn>
  • <span id="plx27"><code id="plx27"><input id="plx27"></input></code></span>
    <menu id="plx27"></menu><menuitem id="plx27"><thead id="plx27"><input id="plx27"></input></thead></menuitem>
  • <label id="plx27"><code id="plx27"></code></label>
    <label id="plx27"><button id="plx27"></button></label>