面向?qū)ο蟪绦蛟O(shè)計(jì)題庫(kù)(C++)
《面向?qū)ο蟪绦蛟O(shè)計(jì)題庫(kù)(C++)》由會(huì)員分享,可在線(xiàn)閱讀,更多相關(guān)《面向?qū)ο蟪绦蛟O(shè)計(jì)題庫(kù)(C++)(25頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、一、單項(xiàng)選擇題 1. 在C++語(yǔ)言中,對(duì)函數(shù)參數(shù)默認(rèn)值描述正確的是:( D ) A) 函數(shù)參數(shù)的默認(rèn)值只能設(shè)定一個(gè) B) 一個(gè)函數(shù)的參數(shù)若有多個(gè),則參數(shù)默認(rèn)值的設(shè)定可以不連續(xù) C) 函數(shù)參數(shù)必須設(shè)定默認(rèn)值 D) 在設(shè)定了參數(shù)的默認(rèn)值后,該參數(shù)后面定義的所有參數(shù)都必須設(shè)定默認(rèn)值 2. 假定 AB 為一個(gè)類(lèi),則執(zhí)行 AB x ;語(yǔ)句時(shí)將自動(dòng)調(diào)用該類(lèi)的( B ) 。 A) 有參構(gòu)造函數(shù) B) 無(wú)參構(gòu)造函數(shù) C) 拷貝構(gòu)造函數(shù) D) 賦值構(gòu)造函數(shù) 3. 下述關(guān)于開(kāi)關(guān)語(yǔ)句的描述中,( )是正確的。 A) 開(kāi)關(guān)語(yǔ)句中default子句可以
2、沒(méi)有,也可以有一個(gè); B) 開(kāi)關(guān)語(yǔ)句中每個(gè)語(yǔ)句序列中必須有break語(yǔ)句; C) 開(kāi)關(guān)語(yǔ)句中default子句只能放在最后; D) 開(kāi)關(guān)語(yǔ)句中case子句后面的表達(dá)式可以是整形表達(dá)式。 4. 關(guān)于對(duì)象概念的描述中,( ) 是錯(cuò)誤的。 A) 對(duì)象就是C語(yǔ)言中的結(jié)構(gòu)變量; B) 對(duì)象代表著正在創(chuàng)建的系統(tǒng)中的一個(gè)實(shí)體; C) 對(duì)象是一個(gè)狀態(tài)和操作(或方法)的封裝體; D) 對(duì)象之間的信息傳遞是通過(guò)消息進(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. 聲明類(lèi)test的拷貝構(gòu)造函數(shù)的正確形式是 ( D ) 。 A) int test B) void test C) test(void) D) test(test&) 8. 關(guān)于new運(yùn)算符的下列描述中,( ) 是
4、錯(cuò)的。
A) 它可以用來(lái)動(dòng)態(tài)創(chuàng)建對(duì)象和對(duì)象數(shù)組;
B) 使用它創(chuàng)建的對(duì)象或?qū)ο髷?shù)組可以使用運(yùn)算符delete刪除;
C) 使用它創(chuàng)建對(duì)象時(shí)要調(diào)用構(gòu)造函數(shù);
D) 使用它創(chuàng)建對(duì)象數(shù)組時(shí)必須指定初始值。
9. 在 C++ 中有以下 4 條語(yǔ)句: 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ù)在聲明對(duì)象時(shí)自動(dòng)執(zhí)行;
C) 構(gòu)造函數(shù)可以對(duì)靜態(tài)數(shù)據(jù)成員進(jìn)行初始化;
D) 構(gòu)造函數(shù)可以重載;
11. 下面關(guān)于重載函數(shù)的說(shuō)明中正確的是( )。
A) 重載函數(shù)必須具有不同的返回類(lèi)型。
B) 重載函數(shù)形參的個(gè)數(shù)必須不同
C) 重載函數(shù)必須具有不同的形式參數(shù)表
D) 重載函數(shù)名可以不同
12. 下列關(guān)于C++函數(shù)的說(shuō)明中,正確的是( )。
A) 內(nèi)聯(lián)函數(shù)就是定義在另一個(gè)函數(shù)體內(nèi)部的函數(shù)
B) 函數(shù)體的最后一條語(yǔ)句必須是 return 語(yǔ)句
C) 6、C++要求在調(diào)用一個(gè)函數(shù)前必須先聲明其原型
D) 編譯器會(huì)根據(jù)函數(shù)的返回值類(lèi)型和參數(shù)表來(lái)區(qū)分函數(shù)的不同重載形式
13. 已知函數(shù)原型為:
void foo(int*, long &b);
實(shí)參定義為:
int i;
long f;
則正確的調(diào)用語(yǔ)句是( ).
A) foo(i, &f); B) foo(i, f); C) foo(&i, f); D) foo(&i, &f);
14. C++中對(duì)于結(jié)構(gòu)中定義的成員,其默認(rèn)的訪(fǎng)問(wèn)權(quán)限為( )。
A) public B 7、) protected C) private D) static
15. 下列關(guān)于類(lèi)與對(duì)象的說(shuō)法中,不正確的是( )。
A) 對(duì)象是類(lèi)的一個(gè)實(shí)例
B) 任何對(duì)象只能屬于一個(gè)具體的類(lèi)
C) 一個(gè)類(lèi)只能有一個(gè)對(duì)象
D) 類(lèi)與對(duì)象的關(guān)系和數(shù)據(jù)類(lèi)型與變量的關(guān)系相似
16. 下列關(guān)于構(gòu)造函數(shù)的描述中錯(cuò)誤的是( )
A) 構(gòu)造函數(shù)可以設(shè)置默認(rèn)參數(shù) B) 構(gòu)造函數(shù)在定義類(lèi)對(duì)象時(shí)自動(dòng)執(zhí)行
C) 構(gòu)造函數(shù)可以對(duì)靜態(tài)數(shù)據(jù)成員進(jìn)行初始化 D) 構(gòu)造函數(shù)不可以重載
17. 類(lèi)的析構(gòu)函數(shù)的作用是( )。
8、
A) 作為類(lèi)的一般成員函數(shù) B) 類(lèi)的初始化 C) 對(duì)象的初始化 D) 對(duì)象的刪除
18. 以下關(guān)于靜態(tài)數(shù)據(jù)成員的描述正確的是( )。
A) 靜態(tài)數(shù)據(jù)成員可以在類(lèi)體中進(jìn)行初始化 B) 靜態(tài)數(shù)據(jù)成員不可以被類(lèi)的實(shí)例調(diào)用
C) 靜態(tài)數(shù)據(jù)成員不能受protected控制符的作用 D) 靜態(tài)數(shù)據(jù)成員可以直接用類(lèi)名調(diào)用
19. 下面關(guān)于友元函數(shù)的描述中正確的是( )。
A) 友元函數(shù)的實(shí)現(xiàn)必須在類(lèi)的內(nèi)部定義 B) 友元函數(shù)是類(lèi)的成員函數(shù)
C) 友元函數(shù)破壞了類(lèi)的封裝性和隱藏性 C) 友元函數(shù)不能訪(fǎng)問(wèn) 9、類(lèi)的私有成員
20. 下面關(guān)于友元函數(shù)的描述中錯(cuò)誤的是( )。
A) 如果類(lèi)A是類(lèi)B的友元,那么類(lèi)B也是類(lèi)A的友元
B) 如果函數(shù)fun()被說(shuō)明為類(lèi)A的友元,那么在fun()中可以訪(fǎng)問(wèn)類(lèi)A的私有成員
C) 友元關(guān)系不能被繼承
D) 如果類(lèi)A是類(lèi)B的友元,那么類(lèi)A的所有成員函數(shù)都是類(lèi)B的友元函數(shù)
21. 下列屬于C++語(yǔ)句的是 。
A) ; B) a=17 C) a+5 D) cout<<’\n’
22. 執(zhí)行語(yǔ)句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是一個(gè)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) 一個(gè)對(duì)象能用作另一個(gè)對(duì)象的成員
28. 在 C++ 中實(shí)現(xiàn)封裝是借助于 。
A) 枚舉 B) 類(lèi)
C) 數(shù)組 D) 函數(shù)
29. 下列不是描述類(lèi)的成員函數(shù)的是 。
A) 構(gòu)造函數(shù) B) 析構(gòu)函數(shù)
C) 友元函數(shù) D) 拷貝構(gòu)造函數(shù)
30. 不能作為函數(shù)重載判斷依據(jù)的是 。
A) 參數(shù)個(gè)數(shù) B) 參數(shù)類(lèi)型
C) 函數(shù)名稱(chēng) D)返回值類(lèi)型
31. 假 13、定一個(gè)類(lèi)的構(gòu)造函數(shù)為 A(int aa,int bb){a=aa++;b=a*bb++;} ,則執(zhí)行
A X(4,5); 語(yǔ)句后, X.a 和 X.b 的值分別為 。
A) 4 和 5 B) 5 和 30
C) 4 和 20 D) 20 和 5
32. 對(duì)于double (*p)[10];的描述, 是正確的。
A) p是一個(gè)指向數(shù)組的指針,所指向的數(shù)組是10個(gè)double型元素;
B) p是一個(gè)指向某個(gè)數(shù)組中第10個(gè)元素的指針,該元素是double型變量;
C) p[5]表示某個(gè)數(shù)組的第10個(gè) 14、元素的值;
D) p是一個(gè)具有10個(gè)元素的指針數(shù)組,每個(gè)元素是一個(gè)double型指針;
33. 下面的函數(shù)聲明中, 哪一個(gè)是” 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ù)的敘述,錯(cuò)誤的是 。
A) 構(gòu)造函數(shù)可以設(shè)置默認(rèn)參數(shù);
B) 構(gòu)造函數(shù)在說(shuō)明類(lèi)變量時(shí)自動(dòng)調(diào)用;
C) 構(gòu)造函數(shù)可以對(duì)靜態(tài)數(shù)據(jù)成員進(jìn)行初始化;
D) 構(gòu)造函數(shù)可以重載;
36. 下列關(guān)于構(gòu)造函數(shù)的描述中錯(cuò)誤的是( )
A) 構(gòu)造函數(shù)可以設(shè)置默認(rèn)參數(shù) B) 構(gòu)造函數(shù)在定義類(lèi)對(duì)象時(shí)自動(dòng)執(zhí)行
C) 構(gòu)造函數(shù)可以對(duì)靜態(tài)數(shù)據(jù)成員進(jìn)行初始化 D) 構(gòu)造函數(shù)不可以重載
37. 類(lèi)的析 16、構(gòu)函數(shù)的作用是( )。
A) 作為類(lèi)的一般成員函數(shù) B) 類(lèi)的初始化 C) 對(duì)象的初始化 D) 對(duì)象的刪除
38. 以下關(guān)于靜態(tài)數(shù)據(jù)成員的描述正確的是( )。
A) 靜態(tài)數(shù)據(jù)成員可以在類(lèi)體中進(jìn)行初始化 B) 靜態(tài)數(shù)據(jù)成員不可以被類(lèi)的實(shí)例調(diào)用
C) 靜態(tài)數(shù)據(jù)成員不能受protected控制符的作用 D) 靜態(tài)數(shù)據(jù)成員可以直接用類(lèi)名調(diào)用
39. 下面關(guān)于友元函數(shù)的描述中正確的是( )。
A) 友元函數(shù)的實(shí)現(xiàn)必須在類(lèi)的內(nèi)部定義 B) 友元函數(shù)是類(lèi)的成員函數(shù)
C) 友元函數(shù)破壞了類(lèi)的封裝性和隱藏性 17、 C) 友元函數(shù)不能訪(fǎng)問(wèn)類(lèi)的私有成員
40. 下面關(guān)于友元函數(shù)的描述中錯(cuò)誤的是( )。
A) 如果類(lèi)A是類(lèi)B的友元,那么類(lèi)B也是類(lèi)A的友元
B) 如果函數(shù)fun()被說(shuō)明為類(lèi)A的友元,那么在fun()中可以訪(fǎng)問(wèn)類(lèi)A的私有成員
C) 友元關(guān)系不能被繼承
D) 如果類(lèi)A是類(lèi)B的友元,那么類(lèi)A的所有成員函數(shù)都是類(lèi)B的友元函數(shù)
41. 重載函數(shù)在調(diào)用時(shí)選擇的依據(jù)中,錯(cuò)誤的是 ( )
A. 函數(shù)的參數(shù) B. 參數(shù)的類(lèi)型 C. 函數(shù)的名字 D. 函數(shù)的類(lèi)型
42. 一個(gè)函數(shù)功能不太復(fù)雜,但要求被 18、頻繁調(diào)用,選用 ( . )
A. 內(nèi)聯(lián)函數(shù) B. 重載函數(shù) C. 遞歸函數(shù) D. 嵌套函數(shù)
43. 下列不是描述類(lèi)的成員函數(shù)的是 ( )
A. 構(gòu)造函數(shù) B. 析構(gòu)函數(shù) C. 友元函數(shù) D. 拷貝構(gòu)造函數(shù)
44. 構(gòu)造函數(shù)不具備的特征的是 ( )
A. 構(gòu)造函數(shù)的函數(shù)名與類(lèi)名相同 B. 構(gòu)造函數(shù)可以重載
C. 構(gòu)造函數(shù)可以設(shè)置默認(rèn)參數(shù) D. 構(gòu)造函數(shù)可以指定返回類(lèi)型
45. 通常,拷貝構(gòu)造函數(shù)的參數(shù)是 ( 19、 )
A. 某個(gè)對(duì)象名 B. 某個(gè)對(duì)象的成員名
C. 某個(gè)對(duì)象的引用名 D. 某個(gè)對(duì)象的指針名
46. 繼承機(jī)制的作用是 ( )
A. 信息隱藏 B. 數(shù)據(jù)封裝 C. 代碼重用 D. 數(shù)據(jù)抽象
47. 類(lèi)的析構(gòu)函數(shù)的作用是 ( )
A.一般成員函數(shù) B.類(lèi)的初始化 C.對(duì)象的初始化 D.刪除對(duì)象創(chuàng)建的所有對(duì)象
48. 類(lèi)的析構(gòu)函數(shù)是在 ( ) 調(diào)用的。
A. 類(lèi)創(chuàng)建時(shí) B. 創(chuàng)建對(duì)象時(shí) C. 刪除對(duì)象時(shí) D. 不自動(dòng)調(diào)用
49. 已知print () 20、函數(shù)是一個(gè)類(lèi)無(wú)返回值的常成員函數(shù),下列表示中正確的是( )。
A.void print()const B.const void print()
C.void const print ; D.void print (const );
50. 如果類(lèi) A 被說(shuō)明成類(lèi) B 的友元,則 ( )
A. 類(lèi) A 的成員即類(lèi) B 的成員 B. 類(lèi) B 的成員即類(lèi) A 的成員
C. 類(lèi) A 的成員函數(shù)不得訪(fǎng)問(wèn)類(lèi) B 的成員 D. 類(lèi) B 不一定是類(lèi) A 的友元
51. 通過(guò)一個(gè)對(duì)象調(diào)用虛函數(shù)時(shí),C++系統(tǒng)對(duì)該調(diào)用采用( )。
A.動(dòng)態(tài)聯(lián)編 21、 B.靜態(tài)聯(lián)編 C.不確定是哪種聯(lián)編 D.函數(shù)重載
52. 在公有繼承的情況下,基類(lèi)成員在派生類(lèi)中的訪(fǎng)問(wèn)權(quán)限 ( )
A. 受限制 B. 保持不變 C. 受保護(hù) D. 不受保護(hù)
53. 在C++中,當(dāng)一個(gè)對(duì)象被創(chuàng)建后,它的每一個(gè)成員函數(shù)都含有一個(gè)系統(tǒng)自動(dòng)生成的隱含的指針,稱(chēng)之為( )指針。
A.對(duì)象 B.派生 C基類(lèi) D.this
54. 假定 AB 為一個(gè)類(lèi),則執(zhí)行 AB x ;語(yǔ)句時(shí)將自動(dòng)調(diào)用該類(lèi)的 ( )
A. 有參構(gòu)造函數(shù) B. 無(wú)參構(gòu)造函數(shù) 22、
C. 拷貝構(gòu)造函數(shù) D. 賦值構(gòu)造函數(shù)
55. C++ 語(yǔ)言建立類(lèi)族是通過(guò) ( )
A. 類(lèi)的嵌套 B. 類(lèi)的繼承 C. 虛函數(shù) D. 抽象類(lèi)
二、判斷題
1、C++中,數(shù)組下標(biāo)從1開(kāi)始。( 錯(cuò) )
2、C++允許對(duì)字符串進(jìn)行整體操作。( )
3、break語(yǔ)句也可以用于if體內(nèi),它可退出if語(yǔ)句。( ?。?
4、在說(shuō)明語(yǔ)句 char a(‘A’),&b=a,*pa=&a;中,b的值與*pa的值相等。( )
5、對(duì)象數(shù)組的元素可以是不同類(lèi)的對(duì)象。( ?。?
6、私有繼承中,基類(lèi)中所有成員對(duì)派生類(lèi)的對(duì)象都是不可見(jiàn)的。( ?。?
7、類(lèi)中所提 23、供的成員函數(shù)可以直接訪(fǎng)問(wèn)私有成員。( ?。?
8、按照標(biāo)識(shí)符的要求,下劃線(xiàn)是不能組成正確標(biāo)識(shí)符的。( )
9、函數(shù)的默認(rèn)參數(shù)沒(méi)有順序要求,可以隨意定義。( )
10、在 C++ 語(yǔ)言中,”A”占兩個(gè)字節(jié),而 ’A’占一個(gè)字節(jié)。( )
11、C++語(yǔ)言支持封裝性和繼承性,不支持多態(tài)性。[ 錯(cuò) ]
12、關(guān)系運(yùn)算符可以用來(lái)比較兩個(gè)字符的大小,也可用來(lái)比較兩個(gè)字符串的大小。)[ ]
13、字符串"sdfgh"的長(zhǎng)度是5。[ ]
14、引用和指針都可作函數(shù)參數(shù)。[ ]
15、友元函數(shù)說(shuō)明在類(lèi)體內(nèi),它是一種成員函數(shù)。[ ]
16、友元類(lèi)必須被說(shuō)明為公有成員。 24、[ ]
17、純虛函數(shù)是在基類(lèi)中說(shuō)明的虛函數(shù),它在該基類(lèi)中沒(méi)有定義具體的操作內(nèi)容。[ ]
18、析構(gòu)函數(shù)不能被繼承。[ ]
19、運(yùn)算符重載以后,其優(yōu)先級(jí)和結(jié)合性都不能改變。[ ]
20、在C++中,函數(shù)名實(shí)際上是一個(gè)指針,它指向函數(shù)的入口。[ ]
21、構(gòu)造函數(shù)可以被繼承。( )
22、析構(gòu)函數(shù)不能被繼承。( )
23、多繼承情況下,派生類(lèi)的構(gòu)造函數(shù)的執(zhí)行順序取決于定義派生時(shí)所指定的各基類(lèi)的順序。( )
24、解決多繼承情況下出現(xiàn)的二義性的方法之一是使用成員名限定法。( )
25、函數(shù)的參數(shù)個(gè) 25、數(shù)和類(lèi)型都相同,只是返回值不同,這不是重載函數(shù)。( )
26、多數(shù)運(yùn)算符可以重載,個(gè)別運(yùn)算符不能重載,運(yùn)算符重載是通過(guò)函數(shù)定義實(shí)現(xiàn)的。( )
27、對(duì)每個(gè)可重載的運(yùn)算符來(lái)講,它既可以重載為友元函數(shù),又可以重載為成員函數(shù),還可以重載為非成員函數(shù)。( )
28、對(duì)單目運(yùn)算符重載為友元函數(shù)時(shí),說(shuō)明一個(gè)形參;重載為成員函數(shù)時(shí),不能顯式說(shuō)明形參。( )
29、重載運(yùn)算符保持原運(yùn)算符的優(yōu)先級(jí)和結(jié)合性不變。( )
30、構(gòu)造函數(shù)說(shuō)明為純虛函數(shù)是沒(méi)有意義的。( )
三、簡(jiǎn)答題
1. 簡(jiǎn)述C++的 26、異常處理機(jī)制?
2.C++的預(yù)定義的流對(duì)象有哪些?
3. 試以客觀世界為例,說(shuō)明抽象、封裝、繼承性和多態(tài)性等概念。
4. 多繼承的情況下為什么會(huì)產(chǎn)生二義性?如何消除二義性?
5. 試說(shuō)明 void F(const T &t); 和 inf f() const; 中關(guān)鍵字 const 作用。
6.有如下程序
#include 27、 }
A(const A &a){
cout<<"in A(const A &a)< 28、 B &b){
cout<<"In ff(B &b)"< 29、();
};
template 30、 x3(4,5,3), x4(7,8,9),
x5(8,7,9);
cout< 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 33、ublic P
{
char *major;
float s;
public:
T(){
cout<<"T";
}
~T(){
cout<<"!T";
}
};
int main()
{
S s;
T t;
system("pause");
return 0;
}
程序運(yùn)行的結(jié)果是_________________________
10.有如下程序
#include 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;
}
程序運(yùn)行的結(jié)果是_________________________
11.有如下程序
#include 38、(r1), R2(r2){};
void print();
void print() const;
private:
int R1, R2;
};
void R::print(){
cout< 39、________________________
12.有如下程序
#include 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、;
}
程序運(yùn)行的結(jié)果是_________________________
13.有如下程序
#include 42、w();
a2.Show();
}
程序運(yùn)行的結(jié)果是_________________________
14.有如下程序
#include 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;
}
程序運(yùn)行的結(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;
}
程序運(yùn)行的結(jié)果是_________________________
17.有如下程序
#include 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;
}
程序運(yùn)行的結(jié)果是:
18.有如下程序
#include 50、 }
};
class B: public A{
public:
B(){
cout<<"In B()"< 51、
19.有如下程序
#include 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. 請(qǐng)分析下面的程序并給出該程序的執(zhí)行結(jié)果。
#include
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競(jìng)賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫(kù)試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫(kù)試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫(kù)試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測(cè)試題庫(kù)及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測(cè)工種技術(shù)比武題庫(kù)含解析
- 1 礦山應(yīng)急救援安全知識(shí)競(jìng)賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案