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

上傳人:max****ui 文檔編號:17778193 上傳時間:2020-12-05 格式:DOC 頁數(shù):25 大?。?06.41KB
收藏 版權(quán)申訴 舉報 下載
面向?qū)ο蟪绦蛟O(shè)計題庫(C++)_第1頁
第1頁 / 共25頁
面向?qū)ο蟪绦蛟O(shè)計題庫(C++)_第2頁
第2頁 / 共25頁
面向?qū)ο蟪绦蛟O(shè)計題庫(C++)_第3頁
第3頁 / 共25頁

下載文檔到電腦,查找使用更方便

9.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《面向?qū)ο蟪绦蛟O(shè)計題庫(C++)》由會員分享,可在線閱讀,更多相關(guān)《面向?qū)ο蟪绦蛟O(shè)計題庫(C++)(25頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、一、單項選擇題 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子句可以

2、沒有,也可以有一個; B) 開關(guān)語句中每個語句序列中必須有break語句; C) 開關(guān)語句中default子句只能放在最后; D) 開關(guān)語句中case子句后面的表達(dá)式可以是整形表達(dá)式。 4. 關(guān)于對象概念的描述中,( ) 是錯誤的。 A) 對象就是C語言中的結(jié)構(gòu)變量; B) 對象代表著正在創(chuàng)建的系統(tǒng)中的一個實體; C) 對象是一個狀態(tài)和操作(或方法)的封裝體; D) 對象之間的信息傳遞是通過消息進(jìn)行的; 5. 下列給字符數(shù)組進(jìn)行初始化中,( )是正確的。 A) char s1[ ]="12345abcd"; B) char s2[3]

3、="xyz"; C) char s3[][3]={ a, x, y}; D) char s4[2[3]={"xyz","mnp"}; 6. 在int a[][3]={{1},{3,2},{4,5,6},{0}}中,a[2][2]的值是 ( ) 。 A) 3 B) 2 C) 6 D) 4 7. 聲明類test的拷貝構(gòu)造函數(shù)的正確形式是 ( D ) 。 A) int test B) void test C) test(void) D) test(test&) 8. 關(guān)于new運算符的下列描述中,( ) 是

4、錯的。 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<

5、 B ) 。 A) 構(gòu)造函數(shù)可以設(shè)置默認(rèn)參數(shù); B) 構(gòu)造函數(shù)在聲明對象時自動執(zhí)行; C) 構(gòu)造函數(shù)可以對靜態(tài)數(shù)據(jù)成員進(jìn)行初始化; 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)

6、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

7、) 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ù)成員進(jìn)行初始化 D) 構(gòu)造函數(shù)不可以重載 17. 類的析構(gòu)函數(shù)的作用是( )。

8、 A) 作為類的一般成員函數(shù) B) 類的初始化 C) 對象的初始化 D) 對象的刪除 18. 以下關(guān)于靜態(tài)數(shù)據(jù)成員的描述正確的是( )。 A) 靜態(tài)數(shù)據(jù)成員可以在類體中進(jìn)行初始化 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ù)不能訪問

9、類的私有成員 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<<’\n’ 22. 執(zhí)行語句k=30;j=k++;后k和j的值分別為

10、 。 A) k=30,j=30 B) k=30,j=31 C) k=31,j=30 D) k=31,j=31 23. 若X是一個bool型變量,則X && 5<3的值 。 A) 為true B) 為false C) 與X的值相同 D) 與X的值相反 24. 如果a=1,b=2,c=3,d=4,則條件表達(dá)式“a>b?a:c

11、; cout<

12、能用作數(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. 假

13、定一個類的構(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 和 5 32. 對于double (*p)[10];的描述, 是正確的。 A) p是一個指向數(shù)組的指針,所指向的數(shù)組是10個double型元素; B) p是一個指向某個數(shù)組中第10個元素的指針,該元素是double型變量; C) p[5]表示某個數(shù)組的第10個

14、元素的值; 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

15、" B) *pc=‘b’ C) *pc++=‘y’ D) pc=&c 35. 下列關(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ù)成員進(jìn)行初始化; 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ù)成員進(jìn)行初始化 D) 構(gòu)造函數(shù)不可以重載 37. 類的析

16、構(gòu)函數(shù)的作用是( )。 A) 作為類的一般成員函數(shù) B) 類的初始化 C) 對象的初始化 D) 對象的刪除 38. 以下關(guān)于靜態(tài)數(shù)據(jù)成員的描述正確的是( )。 A) 靜態(tài)數(shù)據(jù)成員可以在類體中進(jìn)行初始化 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ù)破壞了類的封裝性和隱藏性

17、 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ù)雜,但要求被

18、頻繁調(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ù)是 (  

19、 ) 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 ()

20、函數(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)編

21、 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.this 54. 假定 AB 為一個類,則執(zhí)行 AB x ;語句時將自動調(diào)用該類的 ( ) A. 有參構(gòu)造函數(shù) B. 無參構(gòu)造函數(shù)

22、 C. 拷貝構(gòu)造函數(shù) D. 賦值構(gòu)造函數(shù) 55. C++ 語言建立類族是通過 ( ) A. 類的嵌套 B. 類的繼承 C. 虛函數(shù) D. 抽象類 二、判斷題 1、C++中,數(shù)組下標(biāo)從1開始。( 錯 ) 2、C++允許對字符串進(jìn)行整體操作。( ) 3、break語句也可以用于if體內(nèi),它可退出if語句。( ?。? 4、在說明語句 char a(‘A’),&b=a,*pa=&a;中,b的值與*pa的值相等。( ) 5、對象數(shù)組的元素可以是不同類的對象。( ?。? 6、私有繼承中,基類中所有成員對派生類的對象都是不可見的。(  ) 7、類中所提

23、供的成員函數(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、友元類必須被說明為公有成員。

24、[ ] 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ù)個

25、數(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++的

26、異常處理機制? 2.C++的預(yù)定義的流對象有哪些? 3. 試以客觀世界為例,說明抽象、封裝、繼承性和多態(tài)性等概念。 4. 多繼承的情況下為什么會產(chǎn)生二義性?如何消除二義性? 5. 試說明 void F(const T &t); 和 inf f() const; 中關(guān)鍵字 const 作用。 6.有如下程序 #include #include using namespace std; class B; class A{ friend B; public: A(){ cout<<"in A()"<

27、 } A(const A &a){ cout<<"in A(const A &a)<

28、 B &b){ cout<<"In ff(B &b)"< using namespace std; template class HisClass { Type data; public: HisClass(Type a, Type b, Type c); Type getData

29、(); }; template HisClass::HisClass(Type a, Type b, Type c){ if(a>b&&a>c) data=a; else if(b>c) data=b; else data=c; } template Type HisClass::getData() { return data; } int main() { HisClass x1(3,4,5), x2(5,3,4),

30、 x3(4,5,3), x4(7,8,9), x5(8,7,9); cout< #include class sample{ priv

31、ate: char *string; public: sample(const char *s){ string = new char[strlen(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.有如下程序 #i

32、nclude using namespace std; class P { char *name; int age; char *add; public: P(){ cout<<"P"; } ~P(){ cout<<"!P"; } }; class S:public P { char *department; int level; public: S(){ cout<<"S"; } ~S(){ cout<<"!S"; } }; class T: p

33、ublic P { char *major; float s; public: T(){ cout<<"T"; } ~T(){ cout<<"!T"; } }; int main() { S s; T t; system("pause"); return 0; } 程序運行的結(jié)果是_________________________ 10.有如下程序 #include using namespace std; class B { public: B( ) { co

34、ut << "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

35、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;

36、 } void f( ){ cout << "D2::f( )" << endl; } void g( ){ cout << "D2::g( )" << endl; } ~D2( ){ cout << "D2::~D2( )" << endl; } }; int B::num = 0; int main( ) { B* buf[3]; buf[0] = new D1; buf[1] = new D2; buf[2] = new D1; int i; cout << B::getNum( )

37、 << endl; for ( i = 0; i<3; i++) buf[i]->k( ); for (i = 0; i<3; i++) delete buf[i]; cout << B::getNum( ) << endl; system("pause"); return 0; } 程序運行的結(jié)果是_________________________ 11.有如下程序 #include using namespace std; class R { public: R(int r1, int r2): R1

38、(r1), R2(r2){}; void print(); void print() const; private: int R1, R2; }; void R::print(){ cout<

39、________________________ 12.有如下程序 #include using namespace std; class demo{ public: static int constructor, copy_constructor; demo(){ cout<<"default constructor"<

40、tor++; } }; 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"<

41、; } 程序運行的結(jié)果是_________________________ 13.有如下程序 #include using namespace std; class A{ static int m; int n; public: A(int m, int n){ m=this->m; n=this->n; } Show(){ cout<

42、w(); a2.Show(); } 程序運行的結(jié)果是_________________________ 14.有如下程序 #include using namespace std; class P { char *name; int age; char *add; public: P(){ cout<<"P"; } ~P(){ cout<<"!P"; } }; class S:public P { char *department; int level; public: S

43、(){ cout<<"S"; } ~S(){ cout<<"!S"; } }; class T: public P { char *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

44、tream> 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

45、( ){ 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:

46、 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* buf[3]; buf[0] = new D1; buf

47、[1] = new D2; buf[2] = new D1; int i; cout << B::getNum( ) << endl; for ( i = 0; i<3; i++) buf[i]->k( ); for (i = 0; i<3; i++) delete buf[i]; cout << B::getNum( ) << endl; system("pause"); return 0; } 程序運行的結(jié)果是_________________________ 17.有如下程序 #include us

48、ing namespace std; class R { public: R(int r1, int r2): R1(r1), R2(r2){}; void print(); void print() const; private: int R1, R2; }; void R::print(){ cout<

49、20,52); b.print(); system("pause"); return 1; } 程序運行的結(jié)果是: 18.有如下程序 #include using namespace std; class B; class A{ friend B; public: A(){ cout<<"in A()"<

50、 } }; class B: public A{ public: B(){ cout<<"In B()"<

51、 19.有如下程序 #include using namespace std; class demo{ public: static int constructor, copy_constructor; demo(){ cout<<"default constructor"<

52、 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"<

53、 20. 請分析下面的程序并給出該程序的執(zhí)行結(jié)果。 #include class AA{ int a; public : AA( ){cout<<"Initualizing AA!\n";} ~AA( ){cout<<"Destroying AA!\n";} }; class BB{ int b; AA p; public : BB( ){cout<<"Initualizing BB!\n";} ~BB( ){cout<<"Destroying BB!\n";} }; void main( ) {BB X; cout<

54、<"Ending main!\n"; } 執(zhí)行該程序后,輸出結(jié)果為: 21. 寫出下列程序的運行結(jié)果。 #include using namespace std; class AA{ int a; public : AA(int i){a=i;cout<<"AA="<

55、n";} ~BB( ){cout<<"~BB="< class Test{ private: static int val; int a; public:

56、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="<

57、 cout<<"Resultl="<

58、 public: virtual void func(){cout<<"func in class B"<< endl;} }; class C:public A, public B { public: void func(){cout<<"func in class C"<

59、程序后,輸出結(jié)果為: 24. 寫出下面程序的輸出結(jié)果。 # include 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;

60、 Y=initY; } int Location::GetX() { return X; } int Location::GetY() { return Y; } void display(Location& rL) { cout<

61、t(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 stack{ public: stack(); ~stack(); void push(int); void pop(); int pop() const; private: int stack[SI

62、ZE]; 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碼的字符,否則返回空字符

63、0x0或\0。 4. 它的公有派生類其中包含載人數(shù)passenger_load??ㄜ囶恡ruck是vehicle的公有派生類其中包含載人數(shù)passenger_load和載重量payload,每個類都有相關(guān)數(shù)據(jù)的輸出方法。要求用UML圖來表示各個類及其相互的關(guān)系。 5. 根據(jù)下面類中Uion函數(shù)的原型和注釋寫出它的類外定義。 classStrings{ char*s; //指向動態(tài)分配的字符串?dāng)?shù)組空間 int n: //記錄字符串長度 public: Strings(char-*str); //構(gòu)造函數(shù),利用str字符串長度初始化n,

64、 //利用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<

65、的鏈接類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 fn1[20], fn2[20], fn3[20]; public: CFileLink(); ~CFileLink(); void linkfile(); // 打開file1, file2,將file1

66、, 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 fn1[20], fn2[20]; public: CFileCopy(); ~CFileCopy(); void copyfile(); // 打開file1, fil

展開閱讀全文
溫馨提示:
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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(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),我們立即給予刪除!