版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
2023年9全國計算機等級考試二級筆試試卷
一、選擇題(每題2分洪70分)
(11)在函數(shù)中,可以用auto,extem,register,和static這四個關鍵字中的一種來闡明變
量的存儲類型,假如不闡明存儲類型,則默認的存儲類型是A
AautoBextemCregisterDstatic
(12)對于一種類定義,下列論述中錯誤的是B
A假如沒有定義拷貝構造函數(shù),編譯器將生成一種拷貝構造函數(shù)
B假如沒有定義缺省的構造函數(shù),編譯器將一定生成一種缺省的構造函數(shù)
C假如沒有定義構造函數(shù),編譯器將生成一種缺省的構造函數(shù)和一種拷貝構造函
數(shù)
D假如己經(jīng)定義了構造函數(shù)和拷貝構造函數(shù),編譯器不會生成任何構造函數(shù)
(13)假如派生類以publie方式繼承基類,則原基類的protected組員和publie組員在
派生類中的訪問類型分別是D
Apub1ic和publicBpublic和protected
Cprotected和publicDprotected和protec
ted
(14)下列運算符函數(shù)中肯定不屬于類FunNumber的組員函數(shù)的是D
Aintoperator-(FunNumber)
BFunNumberoperator-()
CFunNumberoperator-(int)
Dintoperator-(FunNumber)
(15)C++中的模板包括C
A對象模板和函數(shù)模板B對象模板和類模板
C函數(shù)模板和類模板D變量模板和對象模板
(16)假如調(diào)用C++流進行輸入輸出,下面的論述中對的的是A
A只能借助于流對象進行輸入輸出B只能進行格式化輸入輸出
C只能借助于cin和cout進行輸入輸出D只能使用運算符》和《進行輸入輸
出
(17)下列符號中不屬于C++關鍵字的是D
AfriendBnamespaceCcontinueDbyte
(18)下列各組的量申明中,含義相似的一組是B
Aunsignedlongint和IongBsignedsh
ortint和short
Bunsignedshort和shortDshortint和inl
(19)必須用一對打括號括起來的程序段是D
Aswitch語句中的Icase標號語句Bif語句的分支
C循環(huán)語句的循環(huán)體D函數(shù)的函數(shù)體
(20)語句的加^^=&!<定義于指針「,于這個語句等效的語句序列是A
Aint*p;p=&kBint*p;p=k
Cint*p;*p=&kDint*p;*p=k
(21)有關函數(shù)重載,下列論述中錯誤的是C
A重載函數(shù)的函數(shù)名必須相似
B重載函數(shù)必須在函數(shù)個數(shù)或類型上有所不同樣
C重載函數(shù)的返回值類型必須相似
D重載函數(shù)的函數(shù)體可以有所不同樣
(22)有如下頭文獻
Intf1();
Staticintf2();
ClassMA{
Pub1ic
Intf3();
Staticintf4();(靜態(tài)函數(shù))
);
在所描述的函數(shù)中,具有隱含的this指針的是C
AfiBf2CI3Df4
(23)派生類的組員函數(shù)不能訪問基類的IC
A共有組員和保護組員B共有組員
C私有組員D保護組員
(24)下列有關運算符重載的描述中,對的I的是A
A運算符重載為組員函數(shù)時,若參數(shù)表中五參數(shù),重載的是一元運算符
B一元運算符只能作為組員函數(shù)重載
C二元運算符重載為非組員函數(shù)時,參數(shù)表中有一種參數(shù)
DC++中可以重載所有的運算符
(25)下列有關類模板的模板參數(shù)的論述中,錯誤的是D
A模板參數(shù)可以作為數(shù)據(jù)組員的類型
B模板參數(shù)可以作為組員函數(shù)的返回類型
C模板參數(shù)可以作為組員函數(shù)的參數(shù)類型
D模板函數(shù)不能作為組員函數(shù)的局部變量的類型
(26)已知一程序運行后執(zhí)行的第一種輸出操作是B
Cout?setw(10)?setfi11(*)?1234
則此操作的輸出構造是
A1234B******1234
C**********1234D1234******
(27)有如下程序
#include<iostrcam>
Usingnamespacestd;
Classmyclass{
Pub1ic:
MyC1ass0{++count;}
-MyClass(){--count;}
Staticintgetcount(){returncount;}
Private
Staticintcount;
);
IntMyClass::count=0;
Intmain(){
Myclassobj;
Cout<<obj,getCount();
MyClass*ptr=newMyClass;
Cout?MyClass::getcount();
Deleteptr;
Cout?MyClass::gercount();
Return();
)
程序的輸出成果是A
A121B232C221D122
(28)有如下程序
ttinclude<iostrean>
Usingnamespacestd;
ClassMyclass{
Public;
Myclassconst(x):ual(x)<>
Uoidprint()const<cout<<const:ual=^<<ual<<\t;}
Uoidprint()<cout<<ual=^<<ual<<\t;}
Priuate;
Intual;
};
Intmain(){
Const叫classobj1(10);
Myclassobj2(20);
Obj1.print();
0bj2.print();
Return();
程序肚I輸出成果是C
Aval=10const:val=20Bconst:val=10const:val=20
Cconst:val=10val=20Dval=10val=20
(29)有如下程序
#inelude<iostream>
Usingnamespacestd;
Classpart{
Public;
Part(intx=(\):val(x){cout?val;)
-part(){cout?va1;1
Private;
Intval;
Classwhole{
Publie;
VVhoIe(intx,inty,intz=0):p2(x),pl(y),va1(z){cout<<va1;}
VVhole(){count?val;}
Private;
Partpl,p2;
Intval;
);
Intniaint{
Wholeobj(l,2,3);
Resturn();
}
程序輸出的成果是D
A123321B213312C213
(30)有如下程序:
#inc1ude<iostrcam>
Usingnamespacestd;
Classbase{
Public:
Base(intx=0){cout?x;}
};
Classderived:publicbase{
Public:
Derivedrin(x=y){cout?x;}
Prib1ic:
Baseva1;
h
Intmain(){
Derivedd(!);
Return();
)
程序的輸出成果是C
AOB1C01D001
(31)若有如下類定義:
ClasssB{
Voidfun1(){}
Protected;
Doub1evarl;
Public:
Voidfun2(){}
ClassD:publicB{
Protected;
Voidfun3(){}
};
己知。bj是類D的對象,下列語句中不違反組員訪問控制的權限時是C
Aobj.fun1();Bobj.var1;Cobj.fun2();D
bj.fun3();
(32)有如下程序:
#include<iostreani>
Usingnamespacesid;
Classbase{
Pub1ic;
Voidoutput(){cout?1;)
Virtualvoidprint(){cout?B;}
);
C1assderived:publicbase{
Publie:
Voidoutput(){cout?2;}
Voidprint(){coutvV'D';}
};
Intmain()
Base*passnewderived;
Ptr—>output();
Ptr—>print();
Deleteptr;
Return();
)
程序的輸出成果是D
AIBB1DC2BD2D
33.下列是重載乘法運算的函數(shù)原型申明,其中錯誤的是A
Amyclassoperator*(double,doub1e);
Bmyclassoperator*(double,myc1ass);
CmycIassoperator*(myclass,doub1e);
Dmyclassoperator*(myclass,myclass);
*是二元運算符,并且原則庫里面已經(jīng)有double*doubleH勺運算符定義,返回值為double,
因此A的重載是錯誤的
34.A
(34)如下函數(shù)的作用是以雙倍行距輸出文件:
Voiddouble_space(iFstrean&f,oFstrean)&t)<
Charc;
While()<
*
If(c=&n')t..put(c),
>
斷或處缺失的部分是
AF.get(c)與t.put(c)Bf.put(c)與t.get(c)
Ct-ger(c)^F.yet(c)Dt?put(c)與f.get(c)
(35)有如下程序:
#inc1ude<iostream>
usingnamespacestd;
classB{
public:
virtualvoidshow(){cout?"b"
};
c1assD:publicB{
public:
voidshow(){cout}
};
voidfunl(B*ptr){ptr->show();)
voidfun2(B&ref){ref.show();}
voidfun3(Bb){b.show();)
voidmain(){
Bb,*p=newD;
Dd;
fun1(p);
fun2(b);
fun3(d);
)
程序時輸出成果是D
ADBDBBBDCDBBDDbb
二、填空題(每空2分,共三十分)
(6).在有定義語句:inta=3,b=2,c=1;則體現(xiàn)式avb?a:b時值是
(7).執(zhí)行下列語句后,變量sum的值是.
Intsum=0;
For(intj=I;j<=I;j++)
For(intj=I;j<=Iu++)
Sum++;
(8).已知有函數(shù)f的定義如下:
Intf(){
Staticint-6;
s-2;
returns
則在某程序中第二次執(zhí)行函數(shù)用語句f();時,函數(shù)f的返回值是,
⑼己知如下程序得輸出成果時23,請將劃線處缺失得部分補充完整。
#inc1ude<iostream>
Usingnamespacestd;
Classmyclass{
Public:
Voidprint()cout{cout?23;}
Intmain(){
Myclass*p=newmyclass();
Print();
Return():
Classsample{
Pub1ic:
Sample(){}
(13)有如下復數(shù)類的聲明,請補充完整。
Classcomplex(
Doublereal;〃實部
Doubleinag;〃虛部
Public:
Comple(doublex.doubley){
Real=x;
Imag=y;
Complexoperator?(complexc)〈〃重載力口法運算符”
RptiirnrnmplPX(
(14)請將如下程序補充完整,使得輸出成果為bbaa
#include<iostream>
Usingnamespacestd;
ClassA{
Public:
{cout?Maa”;}
);
ClassB:publieA{
Pub1ic:
~B(){coutvv”bb”;}
Intmain(){
B*p=newB;
De1etep;
Return();
)
(15)請將下列棧類stack補充完整
C1assstack{
Private;
Intplist[100];//int數(shù)組,用于寄存棧的元素
Inttop;"棧頂元素(數(shù)組下標)
Publie:
Stack():top(0){}
Voidpush(sonsint&item);〃新元素item壓入棧
Intpop(void);〃將棧頂元素彈出棧
);
Voidstack::pbsh(constint&item){
If(top==99)〃假如棧滿,程序結束
Exit(l);
Top++;/底頂指針增1
―(151—;
)
Intstack::pop(){
If(top<0)〃假如棧空,程序結束
Exit⑴;
Returnplish[top--];
)
參照答案
6.27.68.49.(*p)10.ABBA11.voidBa
se::fun()
12.virtualdisplay()==0;14.—A()15.pList[top]=item
2023年9月計算機等級考試
一、選擇題(每題2分,共70分)
(11)在下列原型所示的)C++函數(shù)中,按“傳值”方式傳遞參數(shù)的是(A)。
A)voidf1(intx);?B)voidf2(int*x);C)voidf3(constint*x);
D)voidf4(int&x);
(12)在C++中,編譯系統(tǒng)自動為一種類生成缺省構造函數(shù)的條件是(A)。
A)該類沒有定義任何有參構造函數(shù)B)該類沒有定義任何無參構造函數(shù)
。該類沒有定義任何構造函數(shù)D)該類沒有定義任何組員函數(shù)
(13)在一種派生類的組員函數(shù)中,試圖調(diào)用其基類的組員函數(shù)“voidf()r,但無法通過
編譯。這闡明(C)。
A)f()是基類的私有組員C)派生類的繼承方式為私有
B)f()是基類的保護組員D)派生類的繼承方式為保護
(14)下列有關運算符重載的論述中,錯誤的是(B)。
A)有的運算符可以作為非組員函數(shù)重載
B)所有的運算符都可以通過重載而被賦予新的含義
C)不得為重載的運算符函數(shù)的參數(shù)設置默認值
D)有的運算符只能作為組員函數(shù)重載
(15)下列有關模板的論述中,錯誤的是(D)。
A)調(diào)用模版函數(shù)時,在一定條件下可以省略模板實參
B)可以用int.double這樣的類型修飾符來申明模版參數(shù)
C)模板申明中的關鍵字class都可以用關鍵字typename替代
D)模板的形參表中可以有多種參數(shù)
(16)要運用C++流進行文獻操作,必須在程序中包括的頭文獻是(B)。
A)iostreamg,B)fstreamC)strstream?,D)iomanip
(17)下列字符串中不能作為C++標識符使用的是(B)。
A)WHILEB)userC)_1varD)9stars
(18)下列語句中錯誤的是(D)e
A)constinta;B)constinta=l0;C)constint*point=O;D)
constint*point=newint(10);
(19)有如下程序:
#inc1ude<iostream>
usingnamespacestd;
intmain(){
intsum;
for(inti=0;i<6;i+=3){
sum=i;
for(intj=i;j<6;j++)sum+=j;
)
cout<<sum?endl;
return0;
}
運行時的輸出成果是(A)。
A)3B)10C)12,D)15
(20)下列語句中,對的的是(D)。
A)char*myString='*He1Io-World!”;B)charmyString="Hello-Worl
d!\
C)charmyString[l1]='*He11o-WorId!M;D)charmyString[12]=H
Hello-World!”;
(21)若已經(jīng)申明了函數(shù)原型“voidfun(inta,doubleb=0.0);",則下列重載函數(shù)申明
中對的的是(C)。
A)voidfun(inta=90,doub1eb=0.0);B)intfun(inta,doub1eB);
C)voidfun(doublea,intB);D)boolfun(inta,doubleb=0.Oh
(22)有如下程序:
#inc1ude<iostream>
usingnamespacestd;
classSample(
public:
Sample(){}
-Samp1e(){cout?'**;}
);
intmain(){
Samp1etemp[2],*pTenip[2];
return0;
)
執(zhí)行這個程序輸出星號(*)的個數(shù)為(B)。
A)1B)29,D)4
(23)下列選項中,與實現(xiàn)運行時多態(tài)性無關的是(A)。
A)重載函數(shù)虛函數(shù)C)指針D)引用
(24)下列運算符函數(shù)中,肯定不屬于類Value的I組員函數(shù)的是(B)。
A)Valueoperator+(Va1ue);B)Va1ueoperator-(Va1ue,Value);
C)Va1ueoperator*(int);D)Valueoperator/(Value);
(25)下列模板申明中,有語法錯誤的是(D)。
A)template<typenameT>Tfun(Tx){returnx;)
B)template<typenameT>Tfun(Tx,intn){returnx*n;}
C)template<classT>Tfun(T*p){return*p;}
D)temp1ate<c1assT>TcIassA{Tn;};
(26)在語句“coutVVA,;”中,cout是(B)。
A)類名,,B)對象名C)函數(shù)名aD)C++的關鍵字
(27)有如下程序:
#inc1ude<iostream>
usingnamespacestd;
classMyClass{
publie:
MyClass(inti=0){cout?l;}
MyCIass(constMyClass&x){cout<<2;}
MyCIass&operator=(constMyClass&x)
{cout<<3;return*this;}
-MyClassO{cout<<4;}
卜
intmain(){
MyC1assobjl(1),obj2(2),obj3(objl);
return0:
)
運行時的輸出成果是(A)。
A)112444?B)11114444C)121444?2)11314444
(28)有如下程序:
#include<iostrcam>
usingnamespacestd;
classMyClass{
pub!ic:
MyClass(intx):val(x){}
voidSet(intx){va1=x;}
voidPrintOconst{cout?Hva1=M<<va1<<*\t*;}
private:
intval;
};
intmain(){
constMyC1assobjl(10);
MyClassobj2(20);
objl.Print();//語句1
obj2.Print();〃語句2
obj1.Set(20);//語句3
obj2.Set(30);〃語句4
return0;
}
其主函數(shù)中錯誤的語句是[C)。
A)語句IggB)語句2C)語句3。?D)語句4
(29)在類申明中,緊跟在“publie:”后申明的組員的訪問權限是(A)。
A)私有B)公有,,C)保護默認
(30)對于通過公有繼承定義的派生類,若其組員函數(shù)可以直接訪問基類的某個組員,闡明該
基類組員的訪問權限是(D)。
A)公有或私有B)私有C)保護或私有2)公有或保護
(31)定義派生類時,若不使用關鍵字顯式地規(guī)定采用何種繼承方式,則默認方式為(A)。
A)私有繼承,B)非私有繼承C)保護繼承AD)公有繼承
(32)建立一種有組員對象的派生類對象時,各構造函數(shù)體的執(zhí)行次序為(C)。
A)派生類、組員對象類、基類B)組員對象類、基類、派生類
C)基類、組員對象類、派生類D)基類、派生類、組員對象類
(33)假如體現(xiàn)式a>=b中歐1">=”是作為非組員函數(shù)重載的運算符,則可以等效地體現(xiàn)為
(A)o
A)a.operator>=(b)B)b.operatotr>=(a)C)operator>=(a,b)?)o
perator>=(b,a)
(34)當使用ofstream流類定義一種流對象并打開一種磁盤文獻時,文獻的默認打開方式
為(B)。
A)iosbase::inB)ios_base::binaryC)ios_base::in|ios_base::out
D)ios_base::out
(35)在一種抽象類中,一定包具有(C)。
A)虛函數(shù)。B)純虛函數(shù)C)模板函數(shù)g,D)重載函數(shù)
二、填空題(每空2分,共30分)
(6)當使用關鍵字_void_作為函數(shù)返回類型時,該函數(shù)不返回任何值。
⑺已知數(shù)組a中有n個元素,下列語句將數(shù)組a中從下標xl開始的k個元素移
動到從下標x2開始的k個元素中,其中0v=xlvx2<n,x2+kvn,請將下列語句補充完
整。
for(inti=x1+k—1;i>=xl;i—)
a[_x24-k-1_]=a[i];
(8)有如下程序:
#include<iostream>
usingnamespacestd;
intfunl(intx){return++x;}
intfun2(int&x){return4-+x;}
intmain(){
intx=l,y=2;
y=funl(fun2(x));
cout<<x<<\'?y;
return0:
}
程序的輸出成果是_2,3-
(9)有如下程序:
#include<iostream>
usingnamespacestd;
classpumpkin{
public:
punipkin(){++count;}
-pumpkin(){-count;}
staticvoidtotal_count(){
cout<<count?"pumpkin(s)'*<<end1;
)
private:
staticintcount;
);
intpumpkin::count=O;
intmain(){
pumpkinpl[10];
pumpkin::tota1_count();
return0;
}
這個程序的輸出成果是_lOpumpkin(s)_。
(10)有如下遞歸函數(shù):
intFun(intn){
if(n<=l)return1:
—elsereturnn*Fun(n-l);_
}
請補充完整,使得函數(shù)Fun可以對的J計算形參n的階乘。
(11)請在下列程序中的空格處填寫對的的語句:
classSamp1e{
pub1ic:
Samp1e(){}
?Sample(){}
voidSetData(intdata)
{〃將Sample類組員變量data設置成形參的值
_Sample::data=data___〃注意形參與組員同名
)
private:intdata;
);
(12)有如下類定義,請將Sample類的拷貝構造函數(shù)補充完整。
classSample{
public:
Sample(){)
-Sample(){if(p)deletep;)
Samp1e(constSamp1e&s){
—p=newint;*p=s.*p—
)
voidSetData(intdata){p=newint(data);}
private:
int*p;
};
(13)重載加法運算符“+”,其函數(shù)名是一operator+_。
(14)有如下程序:
#include<iostream>
usingnamespacestd;
classVVages{//n工資”類
doublebase;//基本工資
doublebonus;//獎金
doubletax;//稅金
public:
ages(doubleCBase,doub1eCBonus,
doubleCTax)
:base(CBase)>bonus(CBonus)>
tax(CTax){}
doublegetPay()const;〃返回應付工資額
Wagesoperator+(Wagesw)const;〃重載加法
};
doubleWages::getPay()const
{returnbase+bonus-tax;}
WagesWages::operator+(Wagesw)const
{returnWages(base+w.base,bonus4-w.bonus,
tax+w.tax);
}
intmain(){
Wageswl(2023,500,100),w2(5000,1000,300);
cout?(w1+w2).getPay()<<end1;
return0;
)(15)有如下程序:
#include<iostream>
usingnamespacestd;
classPet{
charname[10];
public:
Pet(char*name){strcpy(this->name,name);)
constchar*getName()const{returnname;}
virtua1voidcall()const=0;
};
c1assDog:publicPet{
pubiic:
Dog(char*name):Pet(nanie){}
voidca11()const{cout<<"汪汪叫";}
);
c1assCat:publicPet{
public:
Cat(char*name):Pet(name){}
voidca11()const{coutVv”唯唯叫”;}
);
intmain(){
Pet*petl=newDog(“哈克”),
*pet2=newCat(“吉米”);
cout<<petl->getName();
pctl—>cal1();
cout?end1;
cout<<pet2->getName();
pet2->cal1();
cout<<endl;
return0;
)
程序的輸出成果是—哈克汪汪叫
_吉米唯嘀叫一
2023年9月二級C++筆試試卷參照答案
二、填空題
(6)void(7)X2+k—1(8)2,3(9)10pumpkin(s)(10)elsereturn
n*Fun(n-1);
(11)Sample::data(12)p=newint;&p=s.*p;(13)opera!or
+(14)8100
2023年9月全國計算機二級筆試C++
一、選擇題(L10,21-40每題2分,11.20每題1分)
(11)已知函數(shù)FA調(diào)用若要把這兩個函數(shù)定義在同一種文獻中,則D
A)FA必須定義在FB之前B)FB必須定義在FA之前AC)若FA定義在
FB之后,則FA的原型必須出目前FB的定義之前AD)若FB定義在FA之后,則FB的
原型必須出目前FA的定義之前
(12)有如下兩個類定義C
c1assAA{};
classBB{
AAvl,*v2;ABBv3;
int*v4;
};A其中有一種組員變量的定義是錯誤的,這個變量是AA)vlB)v2
C)v3D)v4
由于AA和BB都是類的定義,在類定義中無法申明一種自己的對象,因此在BB的類定義中,
企圖申明一種BB類的對象,是非法的。A(13)有如下類定義:BAc1assXX{
intxdata;
public:▲XX(intn=0):xdata(n){2};AC1assYY:publi
cXX{Aintydata;
pub1iC:AYY(intm=0,intn=0):XX(m),ydata(n){)
};禽YY類的對象包括的數(shù)據(jù)組員的個數(shù)是
A)1B)2C)3D)4
(14)下列有關運算符函數(shù)的描述中,錯誤的是€>A)運算符函數(shù)的名稱總是以operat
or為前綴
B)運算符函數(shù)的參數(shù)可以是對象AC)運算符函數(shù)只能定義為類的組員函數(shù)(友元函數(shù)2
D)在體現(xiàn)式中使用重載的運算符相稱于調(diào)用運算符重載函數(shù)
(15)下列有關模板形參的描述中,錯誤時是4A)模板形參表必須在關鍵字templat
e之后
B)模板形參表必須用括弧()括起來
C)可以用class修飾模板形參AD)可以用typename修飾模板形參
(16)在下列枚舉符號中,用來體現(xiàn)“相對于目前位置”文獻定位方式的是AAA)ios_ba
se::curB)ios_base::begC)ios_base::outD)ios_base::end
(17)下列字符串可以用作C++標識符的是D
A)2023varB)gotoC)test-2023D)_123A(18)下列
枚舉類型的定義中,包括枚舉值3的是AAA)enumtest{RED,YELLOW,
BLUE,BLACK};AB)enumtest{RED,YELLOW:4,BLUE,BLACK};
Oenumtest{RED=-1,YELLOW,BLUE,BLACK};AD)enumtest{RED,
YELLOW=6,BLUE,BLACK};
(19)有如下程序段:C
inti=l;Awhile(1){Ai++;
if(i==10)break;Aif(i%2==0)cout<<'*';
)
執(zhí)行這個程序段輸出字符*的I個數(shù)是
A)10B)3C)4D)5
(20)己知數(shù)組arr的定義如下:D
intarr[5]={1,23,4,5};A下列語句中輸出成果不是2的是
A)cout<<*arr+1<<end1;B)cout?*(arr+1)<<endl;C)cout
?arr[1]<<end1;
D)cout<<*arr<<end1;
(21)計算斐波那契數(shù)列第n項的函數(shù)定義如下:B
Intfib(intn){
if(n==0)return1;AeIseif(n==1)return2;
elsereturnfib(n-l)+fib(n-2);
)
若執(zhí)行函數(shù)調(diào)用體現(xiàn)式fib(2),函數(shù)fib被調(diào)用的次數(shù)是AA)1B)2C)
3D)4A(22)Sample是一種類,執(zhí)行下面語句后,調(diào)用Sample類的構造函數(shù)
的次數(shù)是0ASamplea[2],*p=newSamp1e;
A)0B)1C)2D)323S)下列有關虛基類的描述中,錯誤的
是OA)使用虛基類可以消除由多繼承產(chǎn)生的二義性AB)構造派生類對象時,虛基類
的構造函數(shù)只被調(diào)用一次
C伸明"classB:virtualpublicA”闡明類B為虛基類
D)建立派生類對象時,首先調(diào)用虛基類的構造函數(shù)
(24)將運算符重載為類蛆員函數(shù)時,其參數(shù)表中沒有參數(shù),闡明該運算是B
A)不合法的運算符B)一元運算符C)無操作數(shù)的運算符D)二元運算符M25)
有如下模板申明:I)
temp1ate<typenameT1,typenameT2>classA;
下列申明中,與上述申明不等價的!是
A)template<c1assT1,c1assT2>classA;B)template<classT1,
typenameT2>classA;AC)tempIate<typenameT1,c1assT2>cIass
A;D)template<typenameT1,T2>classA;
(26)下列有關C++流的描述中,錯誤時是A
A)cout>>,A,體現(xiàn)式可輸出字符AB)eof()函數(shù)可以檢測與否抵達文獻尾AC)
對磁盤文獻進行流操作時,必須包括頭文獻fstrearn
D)以ios_base::out模式打開的文獻不存在時,將自動建立一種新文獻"7)有如下程序:
C
#include<iostream>
usingnamespacestd;classToy{
public:
Toy(char*_n){strcpy(name,_n);count++;}
-Toy(){count";}Achar*GetName(){returnname;psta
ticintgetCount(){returncount;步private:
charnanieflO];AStatiCintcount;A}?
intToy::count=O;Aintmail(){AToytl("Snoopy''),t2("Mickey"),
t3("Barbie");Acout<<tl.getCount()?endl;Areturn0;
}A運行時的輸出成果是AA)1B)2C)3D)運行時出錯A
(28)有如下程序B
#inc1ude<iostrcam>
usingnamespacestd;AdassA{Apublic^A(inti):r1(i)(}
voidprint(){cout?,e,?rl<<'>1;}
voidprint()const{cout<<,C'<<rl<srl?,-*;)
private:
intrl;A};Aintmain(){
Aal(2);constAa2(4);
a1.print();a2.print();
return0;
)
運行時的)輸出成果是
A)運行時出錯B)E2-C16-C)C4-C16-D)E2-E4-
29)有如下程序:D
#indude<iostreani>
usingnamespacestd;
className{Acharnanie[20];Apublic:
Name(){
strcpy(name,"");cout<<z?';A}AName(char*fname))
{Astrcpy(name,fname);cout<'?';A}
);
intmain(){aNamenames[3]={Name(“張三”),Name(“李四”)};▲R
eturn0;A}A運行此程序輸出符號?的個數(shù)是AA)0B)1C)2
D)3
(30)有如下程序:A
#include<iostream>Ausingnaniespacestd;
public:AAA(){cout<<*l*;}A};
classBB:publicAA{
intk;
public:ABB():k(0){cout?*2,;}ABB(intn):k(n){cout?'3*;}
)
intmain(){ABBb(4),c;
return0;A}
運行時時輸出成果是
A)1312D)132C)32D)141
(31)有如下程序:B
#inc1ude<iostreani>
usingnamespacestd;
classCl{Apublic:A*C1(){COut<<l;}
);
ClassC2:publicc1{Apublic:A~c2(){cout?2;}4};
intmain(){AC2cb2;
Cl*cbl;
return0;A)
運行時時輸出成果是
A)121B)21C)211D)12
(32)有如下程序D
#include<iostream>*usingnaniespacestd;Ac1assPublication{〃出版物如c
harnan)e[30]Public:
Publication(char*name="未著名稱"){AStrcpy(this->name,name);
}Aconstchar*getName()const{returnname;}Avirtualconstchar*get
Type()const{return”未知類型”;2};
c1assBook:publicPublication{//書類
pub1ic:
Book(char*name):Publication(name){}
virtualconstchar*getType()const{return"書";}
);
voidshowPub1ication(Publication&p)(Acout?p.getType()?n:M?p.get
Name()<<end1;
}Aintmain(){
Bookbook("精彩人生");AshowPub1ication(I)ook);areturn0;A}A運行時的輸出
成果是
A)未知類型:未著名稱B)未知類型:精彩人生AC)書:未著名稱D)
書:精彩人生
(33)下列有關運算符重載的I描述中,錯誤的是C
A)::運算符不能重物B)類型轉(zhuǎn)換運算符只能作為組員函數(shù)重載AC)將運算符作為非組員
函數(shù)重載時必須定義為友元
D)重載U運算符應完畢“下標訪問”操作
(34)有如下程序:BA#includeviostream>舄#includeViomanip>
Usingnamespacestd;*intmain(){Aints[]={123,234};ACOUt?right<
<setfillC*')<<setw(6);
for(inti=0;i<2;i++){cout?s[i]<<end1;}
return0;
步運行時的輸出成果是
A)123B)***123C)***123D)**?1
23A234234***234234***
(35)有如下類定義AAclassA{AChar*a;Apub1ic:
A():a(0){}AA(char*aa){〃把aa所指字符串拷貝到a所指向的存儲空間
a=;Astrcpy(a,aa);
strepy(a,aa);
}
~A(){delete[]a;J
};A橫線處應填寫的體現(xiàn)式是AA)ncschar[strlen(aa)+1]B)char[strlen(aa)
+12C)char[strlen(aa)]D)newchar[sizeof(aa)—1]
二、填空題(每空
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年版?zhèn)€人房屋租賃合同范例
- 2024年油茶種植項目勞動力供應與就業(yè)促進合同
- 2024年裝修工程分包合同文本
- 2024年版城市智能交通系統(tǒng)建設委托開發(fā)合同
- 2024年汽油、柴油燃料調(diào)撥與配送服務合同3篇
- 2024年荒坑農(nóng)業(yè)開發(fā)承包合同
- 2024年度企業(yè)員工福利待遇及保障補充協(xié)議書3篇
- 2024年度地產(chǎn)項目建設監(jiān)理與節(jié)能評估服務合同3篇
- 2024年職業(yè)學校學生實習就業(yè)三方合作合同書一
- 圓弧錐度螺桿課程設計
- 甘肅省蘭州市城關區(qū)2022-2023學年三年級上學期期末數(shù)學試卷
- 按揭斷供后銀行起訴狀
- 破宮產(chǎn)心衰護理查房課件
- 計算機網(wǎng)絡安全第9章VPN
- ERAS標準病房評審標準表
- 工程開工令(兩令)
- 2024年泉州德化城建集團招聘筆試參考題庫含答案解析
- 負指數(shù)冪的計算題50道初一
- 壓力管道無損檢測通用工藝
- 南京市玄武區(qū)北京東路小學六年級上冊期末數(shù)學試卷及答案
- 北京二中學教育集團2024屆數(shù)學八上期末綜合測試試題含解析
評論
0/150
提交評論