【正文】
B. elemTail C. elemHeadnext和elemHead D. elemTailnext和elemTail 32. 在一個用鏈表實現(xiàn)的隊列類中,假定每個結(jié)點包含的值域用elem表示,包含的指針域用next表示,鏈隊的隊首指針用elemHead表示,隊尾指針用elemTail表示,若鏈隊為空,則進行插入時必須把新結(jié)點的地址賦給( )。 A. elemHead B. elemTail C. elemHead和elemTail D. elemHead或elemTail 33. 隊列具有( )的操作特性。 A. 先進先出 B. 先進后出 C. 進出無序 D. 進出任意 34. 棧具有( )的操作特性。 A. 先進先出 B. 先進后出 C. 進出無序 D. 進出任意 35. 對于一個類的構(gòu)造函數(shù),其函數(shù)名與類名( )。 A. 完全相同 B. 基本相同 C. 不相同 D. 無關(guān)系 36. 對于一個類的析構(gòu)函數(shù),其函數(shù)名與類名( )。 A. 完全相同 B. 完全不同 C. 只相差一個字符 D. 無關(guān)系 37. 類的構(gòu)造函數(shù)是在定義該類的一個( )時被自動調(diào)用執(zhí)行的。 A. 成員函數(shù) B. 數(shù)據(jù)成員 C. 對象 D. 友元函數(shù) 38. 類的析構(gòu)函數(shù)是一個對象被( )時自動調(diào)用的。 A. 建立 B. 撤消 C. 賦值 D. 引用 39. 一個類的構(gòu)造函數(shù)通常被定義為該類的( )成員。 A. 公用 B. 保護 C. 私有 D. 友元 40. 一個類的析構(gòu)函數(shù)通常被定義為該類的( )成員。 A. 私有 B. 保護 C. 公用 D. 友元 41. 假定AB為一個類,則執(zhí)行 “AB x?!闭Z句時將自動調(diào)用該類的( )。 A. 帶參構(gòu)造函數(shù) B. 無參構(gòu)造函數(shù) C. 拷貝構(gòu)造函數(shù) D. 賦值重載函數(shù) 42. 假定AB為一個類,則執(zhí)行 “AB x(a,5)。”語句時將自動調(diào)用該類的( )。 A. 帶參構(gòu)造函數(shù) B. 無參構(gòu)造函數(shù) C. 拷貝構(gòu)造函數(shù) D. 賦值重載函數(shù) 43. 假定AB為一個類,則執(zhí)行 “AB *s=new AB(a,5)。”語句時得到的一個動態(tài)對象為_______。 A. s B. sa C. D. *s 44. 假定AB為一個類,則執(zhí)行 “AB r1=r2?!闭Z句時將自動調(diào)用該類的( )。 A. 無參構(gòu)造函數(shù) B. 帶參構(gòu)造函數(shù) C. 賦值重載函數(shù) D. 拷貝構(gòu)造函數(shù) 45. 若需要使類中的一個指針成員指向一塊動態(tài)存儲空間,則通常在( )函數(shù)中完成。 A. 析構(gòu) B. 構(gòu)造 C. 任一成員 D. 友元 46. 當類中的一個整型指針成員指向一塊具有n*sizeof(int)大小的存儲空間時,它最多能夠存儲( )個整數(shù)。 A. n B. n+1 C. n1 D. 1 47. 假定一個類的構(gòu)造函數(shù)為 “A(int aa, int bb) {a=aa。 b=aa*bb。}”,則執(zhí)行 “A x(4,5)?!闭Z句后,( )。 A. 4和5 B. 5和4 C. 4和20 D. 20和5 48. 假定一個類的構(gòu)造函數(shù)為 “A(int aa=1, int bb=0) {a=aa。 b=bb。}”,則執(zhí)行 “A x(4)?!闭Z句后,( )。 A. 1和0 B. 1和4 C. 4和1 D. 4和0 49. 假定AB為一個類,則( )為該類的拷貝構(gòu)造函數(shù)的原型說明。 A. AB(AB x)。 B. AB(ABamp。 x)。 C. void AB(ABamp。 x)。 D. AB(int x)。 50. 假定一個類的構(gòu)造函數(shù)為 “B(int ax, int bx): a(ax), b(bx) {}”,執(zhí)行 “B x(1,2),y(3,4)。x=y?!? )。 A. 1 B. 2 C. 3 D. 4二、填空 1.假定a是一個一維指針數(shù)組,則a+i所指對象的地址比a大________字節(jié)。 2. 假定a是一個一維數(shù)組,則a[i]的指針訪問方式為________。 3. 假定a是一個一維數(shù)組,則a[i]對應(yīng)的存儲地址(以字節(jié)為單位)為____________。 4. 一個數(shù)組的數(shù)組名實際上是指向該數(shù)組________元素的指針,并且在任何時候都不允許________它。 5. 假定指向一維數(shù)組b中元素b[4]的指針為p,則p+3所指向的元素為_______,p2所指向的元素為________。 6.若要定義整型指針p并初始指向x,則所使用的定義語句為________。 7. 若p指向x,則________與x的表示是等價的。 8. 在一個二維數(shù)組int a[m][n]中,包含的一維元素a[i]的類型為________,訪問a[i]時返回值的類型為________。 9. 假定一個二維數(shù)組為c[5][8],則c[3]的值為二維元素________的地址,c[3]+2的值為二維元素________的地址。 10. 假定p為指向二維數(shù)組int d[4][6]的指針,則p的類型為________。 11. 假定a是一個二維數(shù)組,則a[i][j]的指針訪問方式為____________。 12. 若要把y定義為整型變量x的引用,則所使用的定義語句為________。 13. 若y是x的引用,則對y的操作就是對_______的操作。 14. 若y是x的引用,則amp。y和amp。x的值________,即為變量________的地址。 15. 執(zhí)行int p=new int操作得到的一個動態(tài)分配的整型對象為________。 16. 執(zhí)行int *p=new int[10]操作,使p指向動態(tài)分配的數(shù)組中下標為0的元素,該元素可表示為_______或________。 17. 執(zhí)行char *p=new char(’a’)操作后,p所指向的數(shù)據(jù)對象的值為________。 18. 執(zhí)行new char[m][n]操作時的返回值的類型為________。 19. 執(zhí)行________操作將釋放由p所指向的動態(tài)分配的數(shù)據(jù)空間。 20. 執(zhí)行________操作將釋放由p所指向的動態(tài)分配的數(shù)組空間。 21. NULL是一個符號常量,通常作為空指針值,它的具體值為________。 22. 變量v定義為“double v=。”,要使指針pv指向v,則定義pv的語句為______________。 23. 已知語句“coutp?!钡妮敵鍪恰癏ello!”,則語句“cout*p?!陛敵龅氖莀_________。 24. 已知語句“couts。”的輸出是“apple”,則執(zhí)行語句“couts+2?!钡妮敵鼋Y(jié)果為__________。 25. 指針變量pv和pc定義為“void *pv =”Hello, word!”。 char *pc?!?,要將pv值賦給pc,則正確的賦值語句是_______________。 26. 數(shù)組b定義為“int b[20][100]?!?,要使p[j][k] 與b[j][k] 等效,則指針p應(yīng)定義為__________________。 27. 與結(jié)構(gòu)成員訪問表達式pname等價的表達式是____________。 28. 與結(jié)構(gòu)成員訪問表達式(*fp).score等價的表達式是____________。 29. 已知變量a定義為“int a=5?!?,要使ra成為a的引用,則ra應(yīng)定義為____________。 30. 已知有定義“int x, a[]={5,7,9}, *pa=a?!?,在執(zhí)行“x=++*pa?!闭Z句后,x的值是________。 31.已知有定義“int x, a[]={6,10,12}, *pa=a?!?,在執(zhí)行“x=*++pa?!闭Z句后,*pa的值是________。 32. 已知有定義“int x, a[]={15,17,19}, *pa=a?!?,在執(zhí)行“x=*pa++?!焙?,*pa的值是________。 33. 以面向?qū)ο蠓椒?gòu)造的系統(tǒng),其基本單位是__________。 34. 每個對象都是所屬類的一個__________。 35. 對象將其大部分實現(xiàn)細節(jié)隱藏起來,這種機制稱為__________。 36. 基類和派生類的關(guān)系稱為__________。 37. 復(fù)雜對象可以由簡單對象構(gòu)成,這種現(xiàn)象稱為__________。 38. 對象是對問題域中客觀事物的________,它是一組屬性和在這些屬性上操作的__________。 39. 特殊類的對象擁有其一般類的全部屬性與操作,稱特殊類________了一般類。 40. 如果一個派生類的基類不止一個,則這種繼承稱為____________。 41. 如果一個派生類只有一個唯一的基類,則這樣的繼承關(guān)系稱為__________。 42. C++支持兩種多態(tài)性:_________時的多態(tài)性和__________時的多態(tài)性。 43. 在C++中,編譯時的多態(tài)性是通過__________實現(xiàn)的,而運行時的多態(tài)性則是通過__________實現(xiàn)的。 44. 面向?qū)ο筌浖_發(fā)的生命周期分為三個階段,即分析、__________和__________。 45. 面向?qū)ο蟮姆治霭╛_________分析和__________分析兩步。 46. 類定義中,既包含數(shù)據(jù)成員,也包含________成員。 47. 類中的數(shù)據(jù)成員的訪問屬性通常被指明為________。 48. 類中的供外部調(diào)用定義的函數(shù)成員,其訪問屬性通常被定義為________。 49. 對于類中定義的任何成員,其隱含訪問權(quán)限為________。 50. 對于結(jié)構(gòu)中定義的任何成員,其隱含訪問權(quán)限為________。 51. 為了使類中的成員不能被類外的函數(shù)通過成員操作符訪問,則應(yīng)把該成員的訪問權(quán)限定義為________。 52. 若在類的定義體中給出了一個成員函數(shù)的完整定義,則該函數(shù)屬于________函數(shù)。 53. 若在類的定義體中只給出了一個成員函數(shù)的原型,而在類外給出完整定義時,則其函數(shù)名前必須加上________和兩個冒號分隔符。 54. 若在類的定義體中只給出了一個成員函數(shù)的原型,則在類外給出完整定義時,其函數(shù)名前必須加上類名和________分隔符。 55. 若要把類外定義的成員函數(shù)規(guī)定為內(nèi)聯(lián)函數(shù),則必須把________關(guān)鍵字放到函數(shù)原型或函數(shù)頭的前面。 56. 把一個類的定義體和所有成員函數(shù)的定義體所構(gòu)成的程序范圍叫做該類的____________。 57. 假定AA是一個類,“AA* abc()?!笔窃擃愔幸粋€成員函數(shù)的原型,則在類外定義時的函數(shù)頭為__________________。 58. 成員函數(shù)的參數(shù)表在類作用域中,成員函數(shù)的返回值類型________類作用域中。 59. 為了避免在調(diào)用成員函數(shù)時修改對象中的任何數(shù)據(jù)成員,則應(yīng)在定義該成員函數(shù)時,在函數(shù)頭的后面加上________關(guān)鍵字。 60. 若只需要通過一個成員函數(shù)讀取數(shù)據(jù)成員的值,而不需要修改它,則應(yīng)在函數(shù)頭的后面加上________關(guān)鍵字。 61. 在每個成員函數(shù)中,隱含的第一個參數(shù)的參數(shù)名為________。 62. 數(shù)組a定義為“int a[100]?!?,要使p[j] 與a[j] 等效,則指針p應(yīng)定義為______________。三、程序填充,對程序、函數(shù)或類中劃有橫線的位置,根據(jù)題意按標號把合適的內(nèi)容填寫到程序下面相應(yīng)標號的后面 1. 已知一維數(shù)組類ARRAY的定義如下,ARRAY與普通一維數(shù)組區(qū)別是:其重載的運算符[ ]要對下標是否越界進行檢查。class ARRAY{ int *v。 //指向存放數(shù)組數(shù)據(jù)的空間 int s。 //數(shù)組大小 public: ARRAY(int a[], int n)。 ~ ARRAY(){delete []v。} int size(){ return s。} intamp。 operator[](int n)。 }。___(1)___ operator[](in