版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
一、選擇題C++語言屬于(C)。A)自然語言B)機器語言C)面向?qū)ο笳Z言D)匯編語言下面選項中不屬于面向?qū)ο蟪绦蛟O(shè)計特征的是(C)。A)繼承性B)多態(tài)性C)相似性D)封裝性可用作C++語言用戶標識符的一組標識符是(B)。A)voiddefine+WORD B)a3_b3_123YNC)for-abcCase D)2aDOsizeof假定一個二維數(shù)組的定義語句為“inta[3][4]={{3,4},{2,8,6}};”,則元素a[2][1]的值為(A)。A)0B)4C)8D)6下列情況中,哪一種情況不會調(diào)用拷貝構(gòu)造函數(shù)(B)A)用派生類的對象去初始化基類對象時B)將類的一個對象賦值給該類的另一個對象時C)函數(shù)的形參是類的對象,調(diào)用函數(shù)進行形參和實參結(jié)合時D)函數(shù)的返回值是類的對象,函數(shù)執(zhí)行返回調(diào)用者時以下哪一關(guān)鍵字可用于重載函數(shù)的區(qū)分(C)A)extern B)static C)const D)virtual下列有關(guān)數(shù)組的敘述中,正確的是(B)A)C++中數(shù)組的存儲方式為列優(yōu)先存儲B)數(shù)組名可以作為實參賦值給指針類型的形參C)數(shù)組下標索引從1開始,至數(shù)組長度n結(jié)束D)數(shù)組指針的語法形式為:類型名*數(shù)組名[下標表達式];下列有關(guān)繼承和派生的敘述中,正確的是(C)A)派生類不能訪問通過私有繼承的基類的保護成員B)多繼承的虛基類不能夠?qū)嵗疌)如果基類沒有默認構(gòu)造函數(shù),派生類就應當聲明帶形參的構(gòu)造函數(shù)D)基類的析構(gòu)函數(shù)和虛函數(shù)都不能夠被繼承,需要在派生類中重新實現(xiàn)實現(xiàn)運行時多態(tài)的機制是(A)A)虛函數(shù) B)重載函數(shù) C)靜態(tài)函數(shù) D)模版函數(shù)若有下面的函數(shù)調(diào)用:fun(a+b,3,max(n-1,b));其中實參的個數(shù)是(A)A)3 B)4 C)5 D)6下列關(guān)于this指針的說法正確的是(B)A)this指針存在于每個函數(shù)之中B)在類的非靜態(tài)函數(shù)中this指針指向調(diào)用該函數(shù)的對象C)this指針是指向虛函數(shù)表的指針D)this指針是指向類的函數(shù)成員的指針在下列關(guān)于C++函數(shù)的敘述中,正確的是(C)A)每個函數(shù)至少要有一個參數(shù) B)每個函數(shù)都必須返回一個值C)函數(shù)在被調(diào)用之前必須先聲明 D)函數(shù)不能自己調(diào)用自己下列運算符中,不能重載的是(C)A)&& B)!= C). D)->下面程序的輸出結(jié)果是(B)#include<iostream>usingnamespacestd;inti=0;intfun(intn){ staticinta=2; a++; returna+n;}voidmain(){ intk=5; { inti=2; k+=fun(i); } k+=fun(i); cout<<k;}A)13 B)14 C)15 D)16下面的程序段的運行結(jié)果為(D)charstr[]="job",*p=str;cout<<*(p+2)<<endl;A)98 B)無輸出結(jié)果C)字符’b’的地址D)字符’b’下面程序的輸出結(jié)果是(C)#include<iostream>usingnamespacestd;classA{public: A(inti){x=i;} voiddispa(){cout<<x<<“,”;}private: intx;};classB:publicA{public: B(inti):A(i+10){x=i;} voiddispb(){dispa();cout<<x<<endl;}private: intx;};voidmain(){ Bb(2); b.dispb();}A)10,2 B)12,10 C)12,2 D)2,2下面程序的輸出結(jié)果是(C)#include<iostream>usingnamespacestd;classBase{public: Base(inti){cout<<i;} ~Base(){}};classBase1:virtualpublicBase{public: Base1(inti,intj=0):Base(j){cout<<i;} ~Base1(){}};classBase2:virtualpublicBase{public: Base2(inti,intj=0):Base(j){cout<<i;} ~Base2(){}};classDerived:publicBase2,publicBase1{public: Derived(inta,intb,intc,intd):mem1(a),mem2(b),Base1(c),Base2(d),Base(a){cout<<b;}private: Base2mem2; Base1mem1;};voidmain(){DerivedobjD(1,2,3,4);}A)134122 B)123412 C)14302012 D)143212下面程序的輸出結(jié)果是(C)#include<iostream>usingnamespacestd;classBase{public: virtualvoidf(){cout<<“f0+”;} voidg(){cout<<“g0+”;}};classDerived:publicBase{public: voidf(){cout<<“f+”;} voidg(){cout<<“g+”;}};voidmain(){Derivedd;Base*p=&d;p->f();p->g();}A)f+g+ B)f0+g+ C)f+g0+ D)f0+g0+下面程序的輸出結(jié)果是(C)#include<iostream>usingnamespacestd;classSample{ friendlongfun(Samples){if(s.x<2)return1;returns.x*fun(Sample(s.x-1));}public: Sample(longa){x=a;}private: longx;};voidmain(){intsum=0;for(inti=0;i<4;i++){sum+=fun(Sample(i));}cout<<sum;}A)12 B)16 C)10 D)34以下程序的輸出結(jié)果是:(D)#include<iostream>usingnamespacestd;intfun(char*s){char*p=s;while(*p!='\0')p++;return(p-s);}voidmain(){cout<<fun("abc")<<endl;}A.0B.1C.2D.3有如下程序段:inti=1;while(1){i++;if(i==10)break;if(i%2==0)cout<<’*’;}執(zhí)行這個程序段輸出字符*的個數(shù)是(C)A.10B.3C.4D.5下列關(guān)于虛基類的描述中,錯誤的是(C)A. 使用虛基類可以消除由多繼承產(chǎn)生的二義性B. 構(gòu)造派生類對象時,虛基類的構(gòu)造函數(shù)只被調(diào)用一次C. 聲明classB:virtualpublicA說明類B為虛基類D. 建立派生類對象時,首先調(diào)用虛基類的構(gòu)造函數(shù)有下類定義ClassA{Char*a;Public:A():a(0){}A(char*aa){//把aa所指字符串拷貝到a所指向的存儲空間A=___________________;Strcpy(a,aa);~A(){delete[]a;}};正確的選擇是(A)A.newchar[strlen(aa)+1]B.char[strlen(aa)+1]C.char[strlen(aa)]D.newchar[sizeof(aa)-1]假定AA為一個類,a為該類私有的數(shù)據(jù)成員,GetValue()為該類公有函數(shù)成員,它返回a的值,x為該類的一個對象,則訪問x對象中數(shù)據(jù)成員a的格式為()。A)x.aB)x.a()C)x->GetValue()D)x.GetValue()假定AA為一個類,inta()為該類的一個成員函數(shù),若該成員函數(shù)在類定義體外定義,則函數(shù)頭為(A)。A)intAA::a()B)intAA:a()C)AA::a()D)AA::inta()有如下程序:#include<iostream>usingnamespacestd;classTest{public:Test(){}~Test(){cout<<'#';}};intmain(){Testtemp[2],*pTemp[2];return0;}執(zhí)行這個程序輸出星號(#)的個數(shù)為(B)。A)1B)2C)3D)4有如下程序:#include<iostream>usingnamespacestd;classMyClass{public:MyClass(inti=0){cout<<1;}MyClass(constMyClass&x){cout<<2;}MyClass&operator=(constMyClass&x){cout<<3;return*this;}~MyClass(){cout<<4;}};intmain(){MyClassobj1(1),obj2(2),obj3(obj1);obj1=obj2;return0;}運行時的輸出結(jié)果是(A)。A)1123444B)11114444C)121444D)11314444有如下程序:#include<iostream>usingnamespacestd;classpoint{public:staticintnumber;public:point(){number++;}~point(){number--;}};intpoint::number=0;voidmain(){point*ptr;pointA,B;{ point*ptr_point=newpoint[3];ptr=ptr_point;}pointC;delete[]ptr;cout<<point::number;}程序結(jié)果為(A)A)3B)4C)6D)7友元運算符obj++被C++編譯器解釋為(D)。A.operator++(obj)B.operator++(obj,0)B.obj.operator++()D.obj.operator++(0)30、求“abc\\12\n”字符串的長度(C)(A)5(B)6(C)7(D)831、字符串常量”\tMyNane\103”的長度是:(B)(A)6 (B)8 (C)12 (D)1432、設(shè)x=7,執(zhí)行語句y=++x,則y等于(D)(A)6(B)7(C)9(D)833、下列字符列中,合法的長整型常量是:(D) (A)4.18e3 (B)0.46793 (C)4L (D)95673834、在C++中,char類型數(shù)據(jù)在內(nèi)存的存儲形式是:(D) (A)原碼 (B)反碼 (C)補碼 (D)ASCII碼35、以下運算符中,優(yōu)先級最高的是:(B) (A)*= (B)–> (C)&& (D)>=36、若有定義“intx”,則下面不能將x的值強制轉(zhuǎn)換成雙精度數(shù)的表達式(D)(A)(double)x(B)double(x)(C)(double)(x)(D)x(double)37、設(shè)有變量定義inti,j;與表達式i==0&&j==0等價的表達式是:(B)(A)i||j (B)!i&&!j (C)!i==!j (D)i==j38、下述敘述正確的是(D)。(A)字符型變量不能賦予整數(shù) (B)任意整數(shù)都能表示字符(C)字符型變量可存放多個字符 (D)字符數(shù)據(jù)的值是整數(shù)值39、設(shè)變量inta=5;下列哪個表達式計算后,使得變量b的值等于2?(A)(A)b=a/2 (B)b=6-(a--) (C)b=a%2 (D)b=a>3?3:240、if…else中為避免嵌套出現(xiàn)二義性,C++規(guī)定else子句總與(B)(A)其之前最近的if語句(B)其之前最近且尚未配對的if語句(C)縮排位置相同的if語句(D)其之后最近的if語句41、邏輯運算符兩側(cè)運算對象的數(shù)據(jù)(D)(A)只能是邏輯型數(shù)據(jù)(B)只能是整型數(shù)據(jù)(C)只能是整型或字符型數(shù)據(jù)(D)可以是任何類型的數(shù)據(jù)42、設(shè)變量x,y,a,b,c,d的值為1,計算表達式(x=a!=b)&&(y=c!=d)后,變量x,y的值分別是:(B)(A)0,0 (B)0,1 (C)1,0 (D)1,143、已知intx=1,y=0;執(zhí)行下面程序段后,y的值為(C)。 if(x){if(x>0)y=1;}elsey=-1;(A)-1 (B)0 (C)1 (D)不確定44、已知intx=1,y=0,w;執(zhí)行下面程序段后,w的值為(A)。 if(x)if(y)w=x&&y;elsew=y;(A)0 (B)-1 (C)1 (D)不確定45、語句while(w)…中的表達式w的等價表示是:(C)(A)w==0 (B)w==1 (C)w!=0 (D)w!=146、語句while(a>b)a--;等價于(D)。(A)if(a>b)a--; (B)do{a--}while(a>b);(C)for(a>b)a--; (D)for(;a>b;a--);47、已知inti=0,x=0;下面while語句執(zhí)行時循環(huán)次數(shù)為(D)。while(x||i){x++;i++;}D(A)3 (B)2 (C)1 (D)048、執(zhí)行語句x=1;while(++x<7)cout<<’*’;后輸出結(jié)果是:(A)(A)***** (B)****** (C)******* (D)********49、C++中循環(huán)語句while和do…while的主要區(qū)別是(A)(A)do…while的循環(huán)體至少無條件執(zhí)行一次(B)while的循環(huán)控制條件和do…while的循環(huán)控制條件的控制條件的控制方式是相反的(C)do…while允許從外部轉(zhuǎn)到循環(huán)體內(nèi),while不允許(D)while的循環(huán)體不能復合語句50、若有以下程序段:for(m=1;m<=100;m++){ cin>>y; if(y<0) continue; cout<<m;}則下面正確的說法是(D)(A)當y<0時整個循環(huán)結(jié)束(B)當y>=0時什么也不輸出(C)cout語句永遠也不執(zhí)行(D)最多輸出100個非負整數(shù)51、語句“while(!x)…”等價于(A)(A)while(x==0)…(B)while(x!=1)…(C)while(x!=0)…(D)while(x==1)…52、一維數(shù)組a正確定義是(D)。(A)chara(10)(B)inta[](C)intk=5,a[k](D)chara[]={‘a(chǎn)’,’b’,’c’}53、下面不能夠判斷字符串S是空串的是(D)(A)if(S[0]==0)(B)if(strlen(S)==0)(C)if(strcmp(S,””)==0)(D)if(S==’\0’)54、charx[5]={‘a(chǎn)’,’b’,’\0’,’c’,’\0’}輸出的結(jié)果是(B )(A)’a’’b’(B)ab(C)abc(D)abc55、設(shè)有下面和程序段chara[3],b[]="China"a=b;cout<<a;則(A )(A)編譯出錯(B)運行后將輸出Ch(C)運行后將輸出Chi(D)運行后將輸出Chian56、判斷字符串s1是否大于字符s2是空串的是(A)(A)if(strcmp(s1,s2)>0)(B)if(strcmp(s1,s2))(C)if(strcmp(s2,s1)>0)(D)if(s1>s2)57、下面關(guān)于C++字符數(shù)組的敘述中,錯誤的是(D)。(A)字符數(shù)組可以放字符串(B)字符數(shù)組的字符可以整體輸入、輸出(C)可以在賦值語句中通過賦值運算符“=”對字符數(shù)組整體賦值(D)可以用關(guān)系運算符對字符數(shù)組比較大小58、以下對一維數(shù)組a的正確定義是(D)(A)chara(10);(B)inta[];(C)intk=5,a[k];(D)chara[]={‘a(chǎn)’,’b’,’c’};59、若二維數(shù)組y有m列,則位于y[i][j]之前的元素個數(shù)有(C)個(A)j*m+i(B)i*m+j(C)i*m+j-1(D)i*m+j+160、非數(shù)組、指針或引用型變量做實參時,它和對應虛參之間的數(shù)據(jù)傳遞方式是(B)(A)地址傳遞(B)單向值傳遞(C)雙向值傳遞(D)由用戶指定傳遞方式61、若有數(shù)組名作為函數(shù)調(diào)用的實參,則傳遞給虛參的是(A)(A)數(shù)組的首地址(B)數(shù)組第1個元素的值(C)數(shù)組中全部元素的值(D)數(shù)組元素的個數(shù)62、以下正確的函數(shù)原型聲明語句是(C)(A)intfun(inta,b);(B)floatfun(inta;intb);(C)doublefun();(D)intfun(chara[][]);63、已有定義“inta=5,&ra=a;”則下敘述中,錯誤的說法是(C)。(A)ra是變量a的引用(B)ra的值為5(C)ra是a的地址值(D)執(zhí)行“ra=10;”后變量a的值也變?yōu)?064、若有定義“intc[5],*p=c;”,則以下對數(shù)組c元素地址的正確引用是(D)(A)p+5(B)c++(C)&c+1(D)&c[0]65、設(shè)intx=1,y=3,能正確表示代數(shù)式3x|x-y|的C++表達式是(A)。(A)abs(x-y)*3*x (B)3x(abs(x-y)) (C)3x||(x-y) (D)3*x*(x-y)||3*x*(y-x)66、有函數(shù)原型voidf(int*);下面選項中,正確的調(diào)用是(C)。(A)char*s="ABCD";f(s); (B)inta=15;f(a);(C)intm=100;f(&m); (D)doublepi=3.14;f(pi);67、下面關(guān)于new和delete運算的敘述中,錯誤的說法是(C)。(A)由new分配的內(nèi)存空間是連續(xù)的(B)如果當前內(nèi)存無足夠的空間可分配,則new運算符返回NULL(C)由new運算符分配的內(nèi)存空間,當函數(shù)執(zhí)行結(jié)束時系統(tǒng)會自動收回(D)對于程序中的靜態(tài)數(shù)組占用的存儲空間不能使用delete來釋放68、下面判斷是否構(gòu)成重載函數(shù)的條件中,錯誤的判斷條件是(D)(A)參數(shù)類型不同(B)參數(shù)個數(shù)不同(C)參數(shù)順序不同(D)函數(shù)返回值不同69、假設(shè)a,b是全局變量,下面設(shè)置函數(shù)參數(shù)默認值的函數(shù)原型中,錯誤的是(C)(A)intfun(intx,inty=10);(B)intfun(intx=5,inty=10);(C)intfun(intx=5,inty);(D)intfun(intx,inty=a+b);70、設(shè)有定義:structdata{inti;charch;doubleq;doublef}b;結(jié)構(gòu)體變量b占用內(nèi)存的字節(jié)數(shù)是(D)(A)18(B)19(C)20(D)2171、關(guān)于結(jié)構(gòu)體概念的敘述中,正確的說法是(C)。(A)相同類型數(shù)據(jù)的集合稱為結(jié)構(gòu)(B)不同類型數(shù)據(jù)的集合稱為結(jié)構(gòu)體(C)數(shù)據(jù)的集合稱為結(jié)構(gòu)體(D)整數(shù)的集合稱為結(jié)構(gòu)體72、設(shè)有說明語句structabc{ intm; floatn;}stype;則下面錯誤的敘述是(B)struct是定義結(jié)構(gòu)體類型的關(guān)鍵字stype是結(jié)構(gòu)體類型名m和n都是結(jié)構(gòu)體成員stype是結(jié)構(gòu)體變量名73、對枚舉類型ee的定義中,正確的這定義是(A)。(A)enumee{A,B,C,D};(B)enumee{‘A’,’B’,’C’,’D’};(C)enumee={A,B,C,D};(D)enumee={‘A’,’B’,’C’,’D’};74、關(guān)于同類型結(jié)構(gòu)體與同類型聯(lián)合體賦值的敘述中,正確的說法是(A)(A)聯(lián)合體變量之間可以直接賦值,結(jié)構(gòu)體變量之間也可以直接賦值(B)聯(lián)合體變量之間可以直接賦值,結(jié)構(gòu)體變量之間不可以直接賦值(C)聯(lián)合體變量之間不可以直接賦值,結(jié)構(gòu)體變量之間可以直接賦值(D)聯(lián)合體變量之間不可以直接賦值,結(jié)構(gòu)體變量之間也不可以直接賦值75、一個結(jié)構(gòu)體變量所占用的內(nèi)存字節(jié)數(shù)是(D)(A)結(jié)構(gòu)體中第一個成員所需的內(nèi)存字節(jié)數(shù)(B)結(jié)構(gòu)體中最后一個成員所需的內(nèi)存字節(jié)數(shù)(C)結(jié)構(gòu)體中占用內(nèi)存最大的成員所需的字節(jié)數(shù)(D)結(jié)構(gòu)體中各成員所需的內(nèi)存字節(jié)數(shù)和76、當定義一個聯(lián)合體變量時系統(tǒng)分配給它的內(nèi)存字節(jié)數(shù)是(C)(A)聯(lián)合體中第一個成員所需的內(nèi)存字節(jié)數(shù)(B)聯(lián)合體中最后一個成員所需的內(nèi)存字節(jié)數(shù)(C)聯(lián)合體中占用內(nèi)存最大的成員所需的字節(jié)數(shù)(D)聯(lián)合體中各成員所需的內(nèi)存字節(jié)數(shù)和77、下面敘述中錯誤的是(C)。(A)預處理命令都必須以“#”開始(B)在程序中凡是以“#”開始的語句行都是預處理命令行(C)C++程序在程序執(zhí)行過程中對預處理命令進行處理(D)一行只能寫一條預處理命令78、下面表達式組中不等價的一組是(C)(A)a&=b與a=&a(B)a|=b與a=a|b(C)a!=b與a=a!b(D)a^=b與a=a^b79、設(shè)x=001101012,則下面能使x的高4位取反,低4位不變,則下面能實現(xiàn)此功能的是()(A)x=x&0x0f(B)x=x|0x0f(C)x=x^0360(D)x=x^03380、設(shè)x=001101102,則若想通過x&y運算使x中的低4位不變,高4位清零,則下面能實現(xiàn)此功能的是(B)(A)x=x|0x0f(B)x=x&0x0f(C)x=x|0xf0(D)x=x&0xf081、設(shè)a和b是兩個結(jié)構(gòu)體變量,下面正確的表達式是(A)(A)a=b(B)a=b+1(C)a>b(D)a==b82、關(guān)于結(jié)構(gòu)體變量運算重載中,正確的單目運算符重載語法格式(B)(A)函數(shù)類型名單目運算符operator(虛參){函數(shù)體}(B)函數(shù)類型名operator單目運算符(虛參){函數(shù)體}(C)函數(shù)類型名單目運算符operator(){函數(shù)體}(D)函數(shù)類型名operator單目運算符(){函數(shù)體}83、后綴—運算符的重載函數(shù)語法格式如下:函數(shù)類型operator--(虛參,int){函數(shù)體}則下面關(guān)于第2個虛參的敘述中,正確的說法是(C)第2個參數(shù)必須給出參數(shù)名稱第2個參數(shù)不能給出參數(shù)名稱第2個參數(shù)必須是int型參數(shù),其參數(shù)名可有可無第2個參數(shù)也可以是long型參數(shù)84、設(shè)分數(shù)的結(jié)構(gòu)體定義如下:structFraction{ intnume; intdeno;};則下面關(guān)于取自身的單目運算符“+”的運算符重載函數(shù)中,最合適是(A)。Fractionoperator+(Fractionx){returnx;}Fractionoperator+(Fraction&x){returnx;}voidoperator+(Fractionx){returnx;}voidoperator+(Fraction&x){returnx;}85、派生類對象只能訪問基類中的(A)(A)公有繼承的公有的成員(B)公有繼承的私有成員(C)公有繼承的保護成員(D)私有繼承的公有成員86、關(guān)于派生類敘述中,錯誤的說法是(B)(A)派生類中從基類公有繼承過來的分有成員的訪問權(quán)限不變(B)任何類都有基類(C)派生類還可作為另一類的基類(D)基類中的構(gòu)造函數(shù)和析構(gòu)函數(shù)是不可繼承的87、設(shè)有類的定義如下:classAAA{ intx; chars[12];}ob;則在VC++環(huán)境下,變量ob所占內(nèi)存空間字節(jié)數(shù)是(C)字節(jié)(A)14(B)15(C)16(D)1788、關(guān)于構(gòu)造函數(shù)的敘述中,錯誤的說法是(D)(A)構(gòu)造函數(shù)的名稱必須為類名(D)構(gòu)造函數(shù)最多只能有一個(C)創(chuàng)建對象時自動執(zhí)行構(gòu)造函數(shù)(D)構(gòu)造函數(shù)無任何函數(shù)類型89、(A)只能訪問靜態(tài)成員變量(A)靜態(tài)成員函數(shù)(B)虛函數(shù)(C)構(gòu)造函數(shù)(D)析構(gòu)函數(shù)90、C++中類有兩種用法,一種是類的實例化,即生成類對象,另一種是通過(B)派生出新的類(A)復用(B)繼承(C)重載(D)封裝91、下面關(guān)于類概念的描述中,(D)是錯誤的。A)類是抽象數(shù)據(jù)類型的實現(xiàn)B)類是具有共同行為的若干對象的統(tǒng)一描述體C)類是創(chuàng)建對象的樣板D)類就是C語言中的結(jié)構(gòu)體類型92、面向?qū)ο蟪绦蛟O(shè)計思想的主要特征中不包括(D)。A)封裝性B)多態(tài)性C)繼承性D)功能分解,逐步求精93、在C++中,函數(shù)原型不能標識(D)。A)函數(shù)的返回類型B)函數(shù)參數(shù)的個數(shù)C)函數(shù)參數(shù)類型D)函數(shù)的功能94、有關(guān)析構(gòu)函數(shù)的說法不正確的是(B)。A)析構(gòu)函數(shù)有且僅有一個B)析構(gòu)函數(shù)和構(gòu)造函數(shù)一樣可以有形參C)析構(gòu)函數(shù)的功能是用來釋放一個對象D)析構(gòu)函數(shù)無任何函數(shù)類型95、已知X類.則當程序執(zhí)行到語句,X
array[3];時,調(diào)用了(D)次構(gòu)造函數(shù)。A)0B)1C)2D)396、類定義的內(nèi)容允許被其他對象無限制地存取是(C)。A)private部分B)protected部分C)public部分D)以上都不對97、關(guān)于new運算符的下列描述中,(D)是錯誤的.。A)它可以用來動態(tài)創(chuàng)建對象和對象數(shù)組B)使用它創(chuàng)建對象或?qū)ο髷?shù)組,可以使用運算符DELETE刪除C)使用它創(chuàng)建對象時要調(diào)用構(gòu)造函數(shù)D)使用它調(diào)用對象數(shù)組時不許指定初始值98、對于下面程序段,表達式正確的是(A)。classBase{public:intb;};classBase1:publicbase{};classBase2:publicbase{};classDerived:publicbase1,publicbase2{public:intfun();};Derivedd;A)d.Base1::bB)d.Base::bC)d.bD)d.Base::fun()99、可以用p.a的形式訪問派生類對象p的基類成員a其中a是(D)。A)私有繼承的公有成員B)公有繼承的私有成員C)公有繼承的保護成員D)公有繼承的公有成員100、下列關(guān)于C++類的描述中錯誤的是(C)。A)類與類之間可以通過一些手段進行通信和聯(lián)絡B)類用于描述事物的屬性和對事物的操作C)類與類之間必須是平等的關(guān)系,D)類與類之間可以通過封裝而具有明確的獨立性101、下列描述中哪個是正確的(B)。A)私有派生的子類無法訪問父類的成員B)類A的私有派生子類的派生類C無法初始化其祖先類A對象的屬性,因為類A的成員對類C是不可訪問的C)私有派生類不能作為基類派生子類D)私有派生類的所有子孫類將無法繼續(xù)繼承該類的成員102、下列關(guān)于構(gòu)造函數(shù)說法不正確的是(C)。A)構(gòu)造函數(shù)必須與類同名B)構(gòu)造函數(shù)可以省略不寫C)構(gòu)造函數(shù)必須有返回值D)在構(gòu)造函數(shù)中可以對類中的成員進行初始化103、如果友元函數(shù)重載一個運算符時,其參數(shù)表中沒有任何參數(shù)則說明該運算符是(D)。A)一元運算符B)二元運算符C)選項A)和選項B)都可能D)重載錯誤104、在重載一個運算符時,如果其參數(shù)表中有一個參數(shù),則說明該運算符是(D)。A)一元成員運算符B)二元成員運算符C)一元友元運算符D)選項B)和選項C)都可能105、一個類的友元函數(shù)能夠訪問該類的(D)。A)私有成員B)保護成員C)公有成員D)所有成員106、下列關(guān)于類定義的說法中,正確的是(A)。A)類定義中包括數(shù)據(jù)成員和函數(shù)成員的聲明B)類成員的缺省訪問權(quán)限是保護的C)數(shù)據(jù)成員必須被聲明為私有的D)成員函數(shù)只能在類體外進行定義107、通過運算符重載,可以改變運算符原有的(A)。A)操作數(shù)類型B)操作數(shù)個數(shù)C)優(yōu)先級D)結(jié)合性108、在C++語言中,數(shù)據(jù)封裝要解決的問題是(D)。A)數(shù)據(jù)的規(guī)范化B)便于數(shù)據(jù)轉(zhuǎn)換C)避免數(shù)據(jù)丟失D)防止不同模塊之間數(shù)據(jù)的非法訪問109、對類成員訪問權(quán)限的控制,是通過設(shè)置成員的訪問控制屬性實現(xiàn)的,下列不是訪問控制屬性的是(D)。A)公有類型B)私有類型C)保護類型D)友元類型110、在類的定義中,用于為對象分配內(nèi)存空間,對類的數(shù)據(jù)成員進行初始化并執(zhí)行其他內(nèi)部管理操作的函數(shù)是(C)。A)友元函數(shù)B)虛函數(shù)C)構(gòu)造函數(shù)D)析構(gòu)函數(shù)111、類的析構(gòu)函數(shù)的作用是(D)。A)一般成員函數(shù)的初始化B)類的初始化C)對象的初始化D)刪除類創(chuàng)建的對象112、下列說法正確的是(B)。A)內(nèi)聯(lián)函數(shù)在運行時是將該函數(shù)的目標代碼插入每個調(diào)用該函數(shù)的地方B)內(nèi)聯(lián)函數(shù)在編譯時是將該函數(shù)的目標代碼插入每個調(diào)用該函數(shù)的地方C)類的內(nèi)聯(lián)函數(shù)必須在類體內(nèi)定義D)類的內(nèi)聯(lián)函數(shù)必須在類體外通過加關(guān)鍵字inline定義113、下列對派生類的描述中,錯誤的是(D)。A)一個派生類可以作為另一個派生類的基類B)派生類至少有一個基類C)派生類的成員除了自己的成員外,還包含了它的基類的成員D)派生類中繼承的基類成員的訪問權(quán)限到派生類保持不變114、運算符的重載是對已有的運算符賦予多重含義,因此(C)。A)可以對基本類型(如int類型)的數(shù)據(jù),重新定義“+”運算符的含義B)可以改變一個已有運算符的優(yōu)先級和操作數(shù)個數(shù)C)只能重載C++中已經(jīng)有的運算符,不能定義新運算符D)C++中已經(jīng)有的所有運算符都可以重載115、如果類A被說明成類B的友元,則(D)。A)類A的成員即是類B的成員B)類B的成員即是類A的成員C)類A的成員函數(shù)不得訪問類B的成員D)類B不一定是類A的友元116、不能作為重載函數(shù)的調(diào)用的依據(jù)是(D)。A)參數(shù)的個數(shù)B)參數(shù)的類型C)函數(shù)的類型D)函數(shù)的名稱117.能作為C++程序的基本單位是(C)。A.字符B.語句C.函數(shù)D.源程序文件118.程序中主函數(shù)的名字為(A)。A.mainB.MAINC.MainD.任意標識符119.關(guān)于C++與C語言的關(guān)系的描述中,(D)是錯誤的。A.C語言是C++的一個子集;B.C語言與C++是兼容的;C.C++對C語言進行了一些改進;D.C++和C語言都是面向?qū)ο蟮?20.可用作C++語言用戶標識符的一組標識符是(B)。A.voiddefine+WORDB.a3_b3_123YNC.for-abcCaseD.2aDOsizeof121、存儲以下數(shù)據(jù),占用存儲字節(jié)最多的是(D)。A.0B.‘0’C.“0”D.0.06.設(shè)inta=12;則執(zhí)行完語句a+=a*a;后,a的值是(C)。A.12B.144C.156D.288122.假設(shè)在程序中a、b、c均被定義成整型,所賦的值都大于1,則下列能正確表示代數(shù)式的表達式是(D)。A.1.0/a*b*cB.1/(a*b*c)C.1/a/b/(float)cD.1.0/a/b/c123.以下說法中正確的是(B)。A.C++程序總是從第一個定義的函數(shù)開始執(zhí)行B.C++程序總是從main函數(shù)開始執(zhí)行C.C++函數(shù)必須有返回值,否則不能使用函數(shù)D.C++程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個程序文件中124.下面有關(guān)構(gòu)造函數(shù)的描述中,正確的是(B)。A.構(gòu)造函數(shù)可以帶有返回值B.構(gòu)造函數(shù)的名字與類名完全相同C.構(gòu)造函數(shù)必須帶有參數(shù)D.構(gòu)造函數(shù)必須定義,不能缺省125.在聲明類時,下面的說法正確的是(C)。A.可以在類的聲明中給數(shù)據(jù)成員賦初值B.數(shù)據(jù)成員的數(shù)據(jù)類型可以是registerC.private,public,protected可以按任意順序出現(xiàn)D.沒有用private,public,protected定義的數(shù)據(jù)成員是公有成員126.在下面有關(guān)析構(gòu)函數(shù)特征的描述中,正確的是(A)。A.一個類可以有多個析構(gòu)函數(shù)B.析構(gòu)函數(shù)與類名完全相同C.析構(gòu)函數(shù)不能指定返回類型D.析構(gòu)函數(shù)可以有一個或多個參數(shù)127.構(gòu)造函數(shù)是在(B)時被執(zhí)行的。A.程序編譯B.創(chuàng)建對象C.創(chuàng)建類D.程序裝入內(nèi)存128.下面有關(guān)靜態(tài)成員函數(shù)的描述中,正確的是(B)A.在靜態(tài)成員函數(shù)中可以使用this指針B.在建立對象前,就可以為靜態(tài)數(shù)據(jù)成員賦值C.靜態(tài)成員函數(shù)在類外定義是,要用static前綴D.靜態(tài)成員函數(shù)只能在類外定義129.下面有關(guān)友員函數(shù)的描述中,真確的說法是(A)A.友員函數(shù)是獨立于當前類的外部函數(shù)B.一個友員函數(shù)不可以同時定義為兩個類的友員函數(shù)C.友員函數(shù)必須在類的外部進行定義D.在類的外部定義友員函數(shù)時必須加上friend關(guān)鍵字130.友員的作用之一是(A)A.提高程序的運行效率B.加強類的封裝C.實現(xiàn)數(shù)據(jù)的隱蔽性D.增加成員函數(shù)的種類131.使用派生類的主要原因是(A)A.提高代碼的可重用性B.提高程序的運行效率C.加強類的封裝性D.實現(xiàn)數(shù)據(jù)的隱藏在C++中繼承方式有幾中(C)A.1B.2C.3D.4132.假設(shè)已經(jīng)定義好了類student,現(xiàn)在要定義類derived,它是從student私有派生的,則定義類derived的正確寫法是(D)A.classderived::studentprivate{//………….}B.classderived::studentpublic{//………….}C.classderived::publicstudent{//………….}D.classderived::privatestudent{//………….}133、派生類的對象對它的基類成員中(C)是可以訪問的。A.公有繼承的公有成員;B.公有繼承的私有成員;C.公有繼承的保護成員;D.私有繼承的公有成員。134.類中定義的成員默認為(b)訪問屬性。A.publicB.privateC.protectedD.Friend135.下列存儲類標識符中,要求通過函數(shù)來實現(xiàn)一種不太復雜的功能,并且要求加快執(zhí)行速度,選用(A)合適。A.內(nèi)聯(lián)函數(shù);B.重載函數(shù);C.遞歸調(diào)用;D.嵌套調(diào)用。136.C++對C語言作了很多改進,下列描述中(D)使得C語言發(fā)生了質(zhì)變,從面向過程變成了面向?qū)ο?。A.增加了一些新的運算符B.允許函數(shù)重載,并允許設(shè)置缺省參數(shù);C.規(guī)定函數(shù)說明必須用原型;D.引進了類和對象的概念;137.按照標識符的要求,(A)符號不能組成標識符。A.連接符B.下劃線C.大小寫字母D.數(shù)字字符138.下列變量名中,(A)是合法的。ACHINABbyte-sizeCdoubleDA+a139.下列各種函數(shù)中,(C)不是類的成員函數(shù)。A構(gòu)造函數(shù)B析構(gòu)函數(shù)C友元函數(shù)D拷貝構(gòu)造函數(shù)140.下列(A)是正確的語句。A;Ba=17Cx+yDcout<<"\n"141.不能作為函數(shù)重載判斷的依據(jù)的是(B)A.返回類型B.constC.參數(shù)個數(shù)D.參數(shù)類型142.通常,拷貝構(gòu)造函數(shù)的參數(shù)是(C)A.某個對象名B.某個對象的成員名C.某個對象的引用名D.某個對象的指針名143.下面對靜態(tài)數(shù)據(jù)成員的描述中,正確的是(C)A類的不同對象有不同的靜態(tài)數(shù)據(jù)成員值B類的每個對象都有自己的靜態(tài)數(shù)據(jù)成員C靜態(tài)數(shù)據(jù)成員是類的所有對象共享的數(shù)據(jù)D靜態(tài)數(shù)據(jù)成員不能通過類的對象調(diào)用144、假定AB為一個類,則執(zhí)行ABx;語句時將自動調(diào)用該類(B)A.有參構(gòu)造函數(shù)B.無參構(gòu)造函數(shù)C.拷貝構(gòu)造函數(shù)D.賦值構(gòu)造函數(shù)145.C++程序從上機到得到結(jié)果的幾個操作步驟依次是(B)。A.編譯、編輯、連接、運行B.編輯、編譯、連接、運行C.編譯、運行、編輯、連接D.編輯、運行、編輯、連接146.假定一條定義語句為“inta[10],x,*p=a;”,若要把數(shù)組a中下標為3的元素值賦給x,則不正確的語句為(A)。A.x=p[3];B.x=*(a+3);C.x=a[3];D.x=*p+3;147.關(guān)于封裝,下列說法中不正確的是(D)。A.通過封裝,對象的全部屬性和操作結(jié)合在一起,形成一個整體B.通過封裝,一個對象的實現(xiàn)細節(jié)被盡可能地隱藏起來(不可見)C.通過封裝,每個對象都成為相對獨立的實體D.通過封裝,對象的屬性都是不可見的148.預處理命令在程序中都是以(B)符號開頭的。A.*B.#C.&D.@149.存儲以下數(shù)據(jù),占用存儲字節(jié)最少的是(B)。A.0B.‘0’C.“0”D.0.0150.程序運行中需要從鍵盤上輸入多于一個數(shù)據(jù)時,各數(shù)據(jù)之間應使用(D)符號作為分隔符。A.空格或逗號B.逗號或回車C.逗號或分號D.空格或回車151.假定變量m定義為“intm=7;”,則定義變量p的正確語句(B)。A.intp=&m;B.int*p=&m;C.int&p=*m;D.int*p=m;152.下面的哪個保留字不能作為函數(shù)的返回類(C)。A.voidB.intC.newD.long153.采用重載函數(shù)的目的是(B)。A.實現(xiàn)共享B.減少空間C.提高速度D.使用方便,提高可讀性154.假定AB為一個類,則(C)為該類的拷貝構(gòu)造函數(shù)的原型說明。A.AB(ABx);B.AB(intx);C.AB(AB&x);D.voidAB(AB&x);155、C++對C語言作了很多改進,下列描述中(D)使得C語言發(fā)生了質(zhì)變,從面向過程變成了面向?qū)ο?。A、增加了一些新的運算符B、允許函數(shù)重載,并允許設(shè)置缺省參數(shù);C、規(guī)定函數(shù)說明必須用原型;D、引進了類和對象的概念;156、所謂數(shù)據(jù)封裝就是將一組數(shù)據(jù)和與這組數(shù)據(jù)有關(guān)操作組裝在一起,形成一個實體,這實體也就是(A)。A.類B.對象C.函數(shù)體D.數(shù)據(jù)塊157、關(guān)于new運算符的下列描述中,(C)是錯誤的。A、它可以用來動態(tài)創(chuàng)建對象和對象數(shù)組;B、使用它創(chuàng)建的對象或?qū)ο髷?shù)組可以使用運算符delete刪除;C、使用它創(chuàng)建對象時要調(diào)用構(gòu)造函數(shù);D、使用它創(chuàng)建對象數(shù)組時必須指定初始值;158、(D)不是構(gòu)造函數(shù)的特征。A、構(gòu)造函數(shù)的函數(shù)名與類名相同;B、構(gòu)造函數(shù)可以重載;C、構(gòu)造函數(shù)可以設(shè)置缺省參數(shù);D、構(gòu)造函數(shù)必須指定類型說明。159、假定一個類的構(gòu)造函數(shù)為B(intx,inty){a=x--;b=a*y--;},則執(zhí)行Bx(3,5);語句后,x.a和x.b的值分別為(C)A、3和5B、5和3C、3和15D、20和5160、關(guān)于成員函數(shù)特征的下列描述中,(A)是錯誤的。A、成員函數(shù)一定是內(nèi)聯(lián)函數(shù);B、成員函數(shù)可以重載;C、成員函數(shù)可以設(shè)置缺省參數(shù)值;D、成員函數(shù)可以是靜態(tài)的;161、在公有繼承的情況下,基類成員在派生類中的訪問權(quán)限(B)。A、受限制B、保持不變C、受保護D、不受保護161、友元的作用是(A)。A、提高程序的運用效率;B、加強類的封裝性;C、實現(xiàn)數(shù)據(jù)的隱藏性;D、增加成員函數(shù)的種類;162、在C++中,關(guān)于下列設(shè)置缺省參數(shù)值的描述中,(B)是正確的。A、不允許設(shè)置缺省參數(shù)值;B、在指定了缺省值的參數(shù)右邊,不能出現(xiàn)沒有指定缺省值的參數(shù);C、只能在函數(shù)的定義性聲明中指定參數(shù)的缺省值;D、設(shè)置缺省參數(shù)值時,必須全部都設(shè)置;163、關(guān)于delete運算符的下列描述中,(C)是錯誤的。A、它必須用于new返回的指針;B、使用它刪除對象時要調(diào)用析構(gòu)函數(shù);C、對一個指針可以使用多次該運算符;D、指針名前只有一對方括號符號,不管所刪除數(shù)組的維數(shù)。164、constint*p說明不能修改(C)。A、p指針B、p指針指向的變量C、p指針指向的數(shù)據(jù)類型D、all165、當需要打開A盤上的以xxk.dat文件用于輸入時,則定義文件流對象的語句為(B)。A、fstreamfin(“A:xxk.dat”,1)Bifstreamfin(“A:xxk.dat”,ios::nocreate)C、ofstreamfin(“A:xxk.dat”)D、ifstreamfin(“A:xxk.dat”,ios::app)166、派生類的對象對它的基類成員中(A)是可以訪問的。A、公有繼承的公有成員;B、公有繼承的私有成員;C、公有繼承的保護成員;D、私有繼承的公有成員;167、假定一個字符串的長度為n,則定義存儲該字符串的字符數(shù)組的長度至少為(C)。A、n-1B、nC、n+1D、n+2168、在inta=3;*p=&a;中,*p的值是(D)。A、變量a的地址值B、無意義C、變量p的地址值D、3169、下列常量中,(D)不是字符常量。A、’\005’B、’\n’C、’c’D、“a”170、在inta=3,*p=&a;中,*p的值是(D)。A)變量a的地址值B)無意義C)變量p的地址值D)3171、以下4個選項中,不能看作一條語句的是(B)。A)if(b==0)m=1;n=2;B)a=0,b=0,c=0;C)if(a>0);D){;}172、(D)不是構(gòu)造函數(shù)的特征。A)構(gòu)造函數(shù)的函數(shù)名與類名相同B)構(gòu)造函數(shù)可以重載C)構(gòu)造函數(shù)可以設(shè)置缺省參數(shù)D)構(gòu)造函數(shù)必須指定類型說明173、以下程序段中與語句k=a>b?1:0;功能等價的是(D)。A)if(a>b)k=1;b)if(a>b)k=0C)if(a>b)k=1;D)if(a<b)k=0;elsek=0;elsek=1;174、下列常量中,(D)不是字符常量。A)’\005’B)’\n’C)’c’D)"a"175、表示“x大于1而小于10”的邏輯表達式是(B)。A)1<x<10B)x>1&&x<10C)!(x<=1||x>=10)D)x>1||x<10176、關(guān)于成員函數(shù)特征的下列描述中,(A)是錯誤的。A)成員函數(shù)一定是內(nèi)聯(lián)函數(shù)B)成員函數(shù)可以重載C)成員函數(shù)可以設(shè)置缺省參數(shù)值D)成員函數(shù)可以是靜態(tài)的177、有以下程序#include<iostream.h>voidmain(){inti,s=0;for(i=1;i<10;i+=2)s+=i;cout<<s;}程序執(zhí)行后的輸出結(jié)果是(C)。A)自然數(shù)1~9的累加和B)自然數(shù)1~10的累加和C)自然數(shù)1~9中的奇數(shù)之和D)自然數(shù)1~10中的偶數(shù)之和178、設(shè)有定義:intn=0,*p=&n,**q=&p;則以下選項中,正確的賦值語句是(D)。A)p=1;B)*q=2;C)q=p;D)*p=5;179、(A)能正確輸出結(jié)果:C++。A)chars[]="C++";cout<<s<<endl;B)chars[3]="C++";cout<<s<<endl;C)chars[3]={'C','+','+','\0'};cout<<s<<endl;D)chars[3]={'C','+','+'};cout<<s<<endl;180、有以下程序段inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a,b;b=p[5];b中的值是(B)。A)5B)6C)8D)9181、有以下程序#include<iostream.h>voidmain(){char*p[10]={"abc","aabdfg","dcdbe","abbd","cd"};cout<<p[3]<<endl;}執(zhí)行后輸出結(jié)果是(B)A)dcdbeB)abbdC)abcD)abb182、下列靜態(tài)數(shù)據(jù)成員的特性中,(C)是錯誤的。A)說明靜態(tài)數(shù)據(jù)成員時前邊要加修飾符staticB)靜態(tài)數(shù)據(jù)成員要在類體外進行初始化C)靜態(tài)數(shù)據(jù)成員不是所有對象所共用的D)引用靜態(tài)數(shù)據(jù)成員時,要在其名稱前加<類名>和作用域運算符183下列變量名中,(A)是合法的。A.CHINAB.byte-sizeC.doubleD.A+a184.一個函數(shù)無返回值時,應選擇的說明符是_____C_____。a.staticb.externc.voidd.無說明符185.成員函數(shù)可聲明為靜態(tài)的,條件是它不訪問_____C____類成員。a.靜態(tài)b.常數(shù)c.非靜態(tài)d.公共186.一般情況下,內(nèi)聯(lián)函數(shù)執(zhí)行起來比標準函數(shù)______B________。a.更慢b.更快c.次數(shù)更多d.以上都不是187.對重載函數(shù)形參的描述中,錯誤的是_______C______。a.參數(shù)的個數(shù)可能不同b.參數(shù)的類型可能不同c.參數(shù)的順序可能不同d.參數(shù)的個數(shù)、類型、順序都相同,只是函數(shù)的返回值類型不同188.在C++中,混合類型表達式______A_____。a.允許存在b.為一錯誤c.從int到floatd.從float到int189.如果有intx,*p;floaty,*q;則下面操作正確的是____C________。a.p=xb.p=qc.p=&xd.p=&y190.靜態(tài)數(shù)據(jù)成員的生存期________A______。a.與整個程序相同b.不長于類的生存期c.取決于創(chuàng)建的對象數(shù)d.以上都不是191.若數(shù)組名作實參而指針變量作形參,函數(shù)調(diào)用時實參傳給形參的是(D)a.數(shù)組的長度b.數(shù)組第一個元素的值c.數(shù)組所有元素的值d.數(shù)組第一個元素的地址192、C++是(C)。A.面向?qū)ο蟮某绦蛟O(shè)計語言B.面向過程的程序設(shè)計語言C.既支持面向?qū)ο蟮某绦蛟O(shè)計又支持面向過程的程序設(shè)計的混合型語言D.非結(jié)構(gòu)化的程序設(shè)計語言193、面向?qū)ο蟪绦蛟O(shè)計思想的主要特征中不包括(D)A.封裝性B.多態(tài)性C.繼承性D.功能分解,逐步求精194、若定義:stringstr;當語句cin>>str;執(zhí)行時,從鍵盤輸入:MicrosoftVisualStudio6.0!所得的結(jié)果是str=(B)。A.MicrosoftVisualStudio6.0!B.MicrosoftC.MicrosoftVisualD.MicrosoftVisualStudio6.0195、考慮下面的函數(shù)原型聲明:voidtestDefaulParam(inta,intb=7,charz='*');下面函數(shù)調(diào)用中,不合法的是(C)。A.testDefaulParam(5);B.testDefaulParam(5,8);C.testDefaulParam(5,'#');D.testDefaulParam(0,0,'*');196、下列語句中,將函數(shù)intsum(intx,inty)正確重載的是(C)。A.floatsum(intx,inty);B.intsum(inta,intb);C.floatsum(floatx,floaty);D.doublesum(inty,intx);197、下列表示引用的方法中,(A)是正確的。已知:inta=1000;A.int&x=a;B.char&y;C.int&z=1000;D.float&t=&a;198、在一個函數(shù)中,要求通過函數(shù)來實現(xiàn)一種不太復雜的功能,并且要求加快執(zhí)行速度,選用(A)。A.內(nèi)聯(lián)函數(shù)B.重載函數(shù)C.遞歸調(diào)用D.嵌套調(diào)用199、下列有關(guān)C++類的說法中,不正確的是(D)。A.類是一種用戶自定義的數(shù)據(jù)類型B.只有類中的成員函數(shù)或類的友元函數(shù)才能存取類中的私有成員C.在類中,如果不做特別說明,所有成員的訪問權(quán)限均為私有的D.在類中,如果不做特別說明,所有成員的訪問權(quán)限均為公用的200、已知X類,則當程序執(zhí)行到語句:Xarray[3];時,調(diào)用了(D)次構(gòu)造函數(shù)。A.0B.1C.2D.3201、下面說法中,正確的是(B)A.一個類只能定義一個構(gòu)造函數(shù),但可以定義多個析構(gòu)函數(shù)B.一個類只能定義一個析構(gòu)函數(shù),但可以定義多個構(gòu)造函數(shù)C.構(gòu)造函數(shù)與析構(gòu)函數(shù)同名,只要名字前加了一個求反符號(~)D.構(gòu)造函數(shù)可以指定返回類型,而析構(gòu)函數(shù)不能指定任何返回類型,即使是void類型也不可以202、已知:print()函數(shù)是一個類的常成員函數(shù),它無返回值,下列表示中,(A)是正確的。A.voidprint()const;B.constvoidprint();C.voidconstprint();D.voidprint(const);203、下面描述中,表達錯誤的是(B)A.公用繼承時基類中的public成員在派生類中仍是public的B.公用繼承時基類中的private成員在派生類中仍是private的C.公用繼承時基類中的protected成員在派生類中仍是protected的D.私有繼承時基類中的public成員在派生類中是private的204、設(shè)置虛基類的目的是(B)。A.簡化程序B.消除二義性C.提高運行效率D.減少目標代碼205、下面(B)的敘述不符合賦值兼容規(guī)則。A.派生類的對象可以賦值給基類的對象B.基類的對象可以賦值給派生類的對象C.派生類的對象可以初始化基類的對象D.派生類的對象的地址可以賦值給指向基類的指針206、關(guān)于虛函數(shù)的描述中,(C)是正確的。A.虛函數(shù)是一個static類型的成員函數(shù)B.虛函數(shù)是一個非成員函數(shù)C.基類中說明了虛函數(shù)后,派生類中與其對應的函數(shù)可不必說明為虛函數(shù)D.派生類的虛函數(shù)與基類的虛函數(shù)具有不同的參數(shù)個數(shù)和類型207、下面關(guān)于友元的描述中,錯誤的是(D)。A.友元函數(shù)可以訪問該類的私有數(shù)據(jù)成員B.一個類的友元類中的成員函數(shù)都是這個類的友元函數(shù)C.友元可以提高程序的運行效率D.類與類之間的友元關(guān)系可以繼承208、下列關(guān)于靜態(tài)數(shù)據(jù)成員的說法,不正確的是(C)。A.類中定義的公用靜態(tài)數(shù)據(jù)成員,可以通過類的對象來訪問B.類中定義的所有靜態(tài)數(shù)據(jù)成員,都必須在類外初始化C.靜態(tài)數(shù)據(jù)成員不是所有對象所共用的D.普通的成員函數(shù)可以直接訪問類中的靜態(tài)數(shù)據(jù)成員209、如果表達式++i*k中的“++”和“*”都是重載的友元運算符,若采用運算符函數(shù)調(diào)用格式,則表達式還可以表示為(B)。A.operator*(i.operator++(),k)B.operator*(operator++(i),k)C.i.operator++().operator*(k)D.k.operator*(operator++(i))210、下面對模板的聲明,正確的是(C)。A.template<T>B.template<classT1,T2>C.template<classT1,classT2>D.template<classT1;classT2>211、下列的各類函數(shù)中,(C)不是類的成員函數(shù)A.構(gòu)造函數(shù)B.析構(gòu)函數(shù)C.友元函數(shù)D.復制構(gòu)造函數(shù)212、關(guān)于C++與C語言關(guān)系的描述中,(D)是錯誤的。A.C語言是C++語言的一個子集B.C語言與C++語言是兼容的C.C++語言對C語言進行了一些改進D.C++語言和C語言都是面向?qū)ο蟮?13、系統(tǒng)在調(diào)用重載函數(shù)時往往根據(jù)一些條件確定哪個重載函數(shù)被調(diào)用,在下列選項中,不能作為依據(jù)的是(A)。A.函數(shù)的返回值類型B.參數(shù)的類型C.函數(shù)名稱D.參數(shù)個數(shù)214、有關(guān)析構(gòu)函數(shù)的說法,不正確的是(B)。A.析構(gòu)函數(shù)有且僅有一個B.析構(gòu)函數(shù)和構(gòu)造函數(shù)一樣可以有形參C.析構(gòu)函數(shù)的功能是在系統(tǒng)釋放對象之前作一些內(nèi)存清理工作D.析構(gòu)函數(shù)無任何函數(shù)類型215、類定義的內(nèi)容允許被其對象無限制地存取的是(C)。A.private部分B.protected部分C.public部分D.以上都不對216、關(guān)于常數(shù)據(jù)成員的說法,不正確的是(D)。A.常數(shù)據(jù)成員的定義形式與一般常變量的定義形式相同,只不過常數(shù)據(jù)成員的定義必須出現(xiàn)在類體中B.常數(shù)據(jù)成員必須進行初始化,并且不能被更新C.常數(shù)據(jù)成員通過構(gòu)造函數(shù)的成員初始化列表進行初始化D.常數(shù)據(jù)成員可以在定義時直接初始化217、運用運算符delete刪除一個動態(tài)對象時(C)。A.系統(tǒng)首先為該動態(tài)對象調(diào)用構(gòu)造函數(shù),再釋放其占用的內(nèi)存B.系統(tǒng)首先釋放該動態(tài)對象占用的內(nèi)存,再為其調(diào)用構(gòu)造函數(shù)C.系統(tǒng)首先為該動態(tài)對象調(diào)用析構(gòu)函數(shù),再釋放其占用的內(nèi)存D.系統(tǒng)首先釋放動態(tài)對象占用的內(nèi)存,再為其調(diào)用析構(gòu)函數(shù)218、可以在類外用p.a的形式訪問派生類對象p的基類成員a,其中a是(D)。A.私有繼承的公用成員B.公用繼承的私有成員C.公用繼承的保護成員D.公用繼承的公用成員219、在公用繼承方式下,有關(guān)派生類對象和基類對象的關(guān)系,不正確的敘述是(C)。A.派生類的對象可以賦給基類的對象B.派生類的對象可以初始化基類的引用C.派生類的對象可以直接訪問基類中的成員D.派生類的對象的地址可以賦給指向基類的指針220、在C++中,用于實現(xiàn)動態(tài)多態(tài)性的是(D)。A.內(nèi)聯(lián)函數(shù)B.重載函數(shù)C.模板函數(shù)D.虛函數(shù)221、不能說明為虛函數(shù)的是(B)。A.析構(gòu)函數(shù)B.構(gòu)造函數(shù)C.類的成員函數(shù)D.以上都不對222、如果一個類至少有一個純虛函數(shù),那么就稱該類為(A)。A.抽象類B.派生類C.純基類D.以上都不對223、下面關(guān)于友元的描述中,錯誤的是(D)。A.友元函數(shù)可以訪問該類的私有數(shù)據(jù)成員B.一個類的友元類中的成員函數(shù)都是這個類的友元函數(shù)C.友元可以提高程序的運行效率D.類與類之間的友元關(guān)系可以繼承224、下列運算符中,(C)運算符在C++中不能被重載。A.&&B.[]C.::D.new225、模板的使用實際上是將類模板實例化成一個(C)。A.函數(shù)B.對象C.類D.抽象類226、假定MyClass為一個類,則該類的拷貝構(gòu)造函數(shù)的聲明語句為(C)。A.MyClass(MyClassx)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年實驗室儀器裝置合作協(xié)議書
- 2025年骨科關(guān)節(jié)用藥項目合作計劃書
- 急性肺水腫的急救處理
- 2025年金屬廢料和碎屑合作協(xié)議書
- 臨床護理信息化技術(shù)應用
- 護理隨訪流程詳解
- 護理感染控制與預防
- 呆子吃鹽課件
- 危重癥患者的營養(yǎng)支持
- 聽課件注意事項
- 大課間活動匯報
- 酒吧代駕合作合同范本
- 導尿技術(shù)常見并發(fā)癥
- 臺州路面劃線施工技術(shù)交底
- (2025年)國家gcp證書考試試題及答案
- 城市軌道交通客運服務心理學課件 單元5-城市軌道交通乘客情緒心理與服務
- 消防給水及消火栓系統(tǒng)技術(shù)規(guī)范圖示
- 產(chǎn)后護理法律知識培訓課件
- 2024年哈爾濱科學技術(shù)職業(yè)學院公開招聘輔導員筆試題含答案
- 24節(jié)氣 教學設(shè)計課件
- 北京市西城區(qū)2024-2025學年五年級上學期期末數(shù)學試題
評論
0/150
提交評論