點擊查看:2018年9月計算機二級C++考前基礎練習題及答案匯總
1.有如下程序:
#included
usingnamespacestd;
voidfl(int&X,int&y){intz=x;x=y;y=z;)voidf2(intX,inty){intz=x;x=y;y=z;}intmain( ){
intx=10,y=26;
f1(X,y);
f2(x,y);
cout
}
運行時的輸出結果是( )。
A.10
B.16
C.26
D.36
2.有如下程序:
#include
usingnamespacestd;
classXA{
inta;
public:
staticintb;
XA(intaa):a(aa){b++;}
~XA( ){}
intget( ){returna;}
};
intXA::b=0
intmain( ){
XAd1(1),d2(3);
cout
}
運行時的輸出結果是( )。
A.5
B.6
C.7
D.8
3.有如下程序:
#include
usingnamespacestd:
classPoint{
intx,y;
public:
Point(intx1=0,inty1=0)):X(X1),y(y1){}
intget( ){returnx+y;)
};
classCircle{
Pointcenter}
intradius;
public:
Circle(intCX,intcy,intr):center(cx,cy),radius(r)
{}
intget( ){returncenter.get( )+radius;}
};
intmain( ){
Circlec(3,4,5);
cout
}
運行時的輸出結果是( )。
A.5
B.7
C.9
D.12
4.若是對類BigNumber中重載的類型轉換運算符long進行聲明,下列選項中正確的是( )。
A.operatorlong( )const;
B.operatorlong(BigNumber);
C.longoperatorlong( )const;
D.longoperatorlong(BigNumber);
5.有如下函數模板定義:
template
T1FUN(T2n){returnn*5,0;}
若要求以int型數據9作為函數實參調用該模板,并返回一個double型數據,則該調用應表示為( )。
A.FUN(9)
B.FUN<9>
C.FUN(9)
D.FUN<9>(double)
6.下列語句都是程序運行時的第1條輸出語句,其中一條語句的輸出效果與其他3條語句不同,該語句是( )。
A.cout
A.析構函數可以重載
B.析構函數由系統自動調用
C.每個對象的析構函數只被調用一次
D.每個類都有析構函數
8.下列關于構造函數的描述中,錯誤的是( )。
A.構造函數名與類名相同
B.構造函數可以有返回值
C.構造函數可以重載
D.每個類都有構造函數
9.若PAT是一個類,則程序運行時,語句“PAT(*ad){3};”調用PAT的構造函數的次數是( )。
A.0
B.1
C.2
D.3
10.下列描述中,錯誤的是( )。
A.公有繼承時基類中的公有成員在派生類中仍是公有成員
B.公有繼承時基類中的保護成員在派生類中仍是保護成員
C.保護繼承時基類中的公有成員在派生類中仍是公有成員
D.保護繼承時基類中的保護成員在派生類中仍是保護成員
參考答案:
1.A。【解析】該題考查了函數參數傳遞的兩種方式:引用傳遞和值傳遞,引用傳遞時x和y會交換,而值傳遞時二者不交換,因此選10。
2.C。【解析】每調用一次get函數時,對新的類A對象進行一次實例化,調用一次構造函數,類A的靜態成員變量b便加1。
3.D。【解析】簡單類之間繼承關系的調用,按照通常做法便可以得到答案。center.get()函數調用后,3和4的和被返回,接著再調用Circle類的radius成員變量5相加后得到12。
4.A。【解析】C++不僅可以對運算符進行重載,還可以重載類型轉換符,函數聲明的形式為:0perator類型符()const。
5.C。【解析】函數返回類型是double型,則T1為double型,T2為int型才符合函數模板的定義。
6.D。【解析】setw(6)將輸出寬度設為6,如果位數不夠,則在最左邊補齊,因此該項輸出一定不會與其他3項一致。
7.A。【解析】析構函數不能被重載,因為它的函數中不帶有任何參數,也沒任何返回值,函數只有一個版本即“~類名(){}”。
8.B。【解析】構造函數沒有返回值,雖然叫函數,但是它沒有任何返回值,包括void型都不是,官方叫法應該叫“構造器”。
9.A。【解析】PAT(*ad){3}該表達式表示一個指向類PAT的數組的指針,只是聲明了該指針,而并沒有進行實例化對象,因此該語句運行時并不會調用構造函數。
10.C。【解析】保護繼承時,類成員的訪問級別只能是降低為保護模式,因此即使基類的公有成員,也被縮小為保護模式。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關推薦: