2011年计算机二级试题,2011年3月全国计算机二级C++考试真题
2011年3月全國計算機二級C++考試真題
(21)有如下程序:
#include
using namespace std;
void f1(int& x,int& y) {int z=x; x=y; y=z;}
void f2(int x;int y) {int z=x; x=y; y=z;}
int main(){
int x=10,y=26;
f1(x,y);
f2(x,y);
cout
}
運行時的輸出結果是
A)10
B)16
C)26
D)36
(22)有如下程序:
#include
using namespace std;
class XA{
int a;
public:
static int b;
XA(int aa):a(aa) {b++;}
~XA(){}
int get(){return a;}
};
int XA::b=0;
int main(){
XA d1(2),d2(3);
cout
}
運行時的輸出結果是
A)5
B)6
C)7
D)8
(23)有如下程序:
#include
using namespace std;
class Point{
int x,y;
public:
Point(int x1=0,int y1=0):x(x1),y(y1){}
int get(){return x+y;}
};
class Circle{
Point center;
int radius;
public:
Circle(int cx,int cy,int r):center(cx,cy),raaius(r){}
int get(){return center.get()+radius;}
};
int main(){
Circle c(3,4,5);
cout
}
運行時的輸出結果是
A)5
B)7
C)9
D)12
(24)若要對類BigNumber中重載的類型轉換運算符long進行聲明,下列選項中正確的是
A)operator long() const;
B)operator long(BigNumber);
C)long operator long() const;
D)long operator long(BigNumber);
(25)有如下函數模板定義:
template
T1 FUN(T2 n){return n*5.0;}
若要求以int型數據9作為函數實參調用該模板,并返回一個double型數據,則該調用應表示為
A)FUN(9)
B)FUN<9>
C)FUN(9)
D)FUN<9>(double)
(26)下列語句都是程序運行時的第1條輸出語句,其中一條語句的輸出效果與其他三條語句不同,該語句是
A)cout
(27)下列關于析構函數的描述中,錯誤的是
A)析構函數可以重載
B)析構函數由系統自動調用
C)每個對象的析構函數只被調用一次
D)每個類都有析構函數
(28)下列關于構造函數的描述中,錯誤的是
A)構造函數名與類名相同
B)構造函數可以有返回值
C)構造函數可以重載
D)每個類都有構造函數
(29)若PAT是一個類,則程序運行時,語句“PAT(*ad)[3];”調用PAT的構造函數的次數是
A)0
B)1
C)2
D)3
(30)下列描述中,錯誤的是
A)公有繼承時基類中的公有成員在派生類中仍是公有成員
B)公有繼承時基類中的保護成員在派生類中仍是保護成員
C)保護繼承時基類中的公有成員在派生類中仍是公有成員
D)保護繼承時基類中的保護成員在派生類中仍是保護成員
(31)生成派生類對象時,派生類構造函數調用基類構造函數的條件是
A)無需任何條件
B)基類中顯式定義了構造函數
C)派生類中顯式定義了構造函數
D)派生類構造函數明確調用了基類構造函數
(32)下列關于派生類和基類的描述中,正確的是
A)派生類成員函數只能訪問基類的'公有成員
B)派生類成員函數只能訪問基類的公有和保護成員
C)派生類成員函數可以訪問基類的所有成員
D)派生類對基類的默認繼承方式是公有繼承
(33)有如下類模板定義:
template
class BigNumber{
long n;
public:
BigNumber(T i):n(i){}
BigNumber operator+(BigNumber b){
return BigNumber(n+b.n);
}
};
己知b1、b2是BigNumber的兩個對象,則下列表達式中錯誤的是
A)bl+b2
B)b1+3
C)3+b1
D)3+3
(34)下列關于文件流的描述中,正確的是
A)文件流只能完成針對磁盤文件的輸入輸出
B)建立一個文件流對象時,必須同時打開一個文件
C)若輸入流要打開的文件不存在,將建立一個新文件
D)若輸出流要打開的文件不存在,將建立一個新文件
(35)有如下程序:
#include
using namespace std;
class Pair{
int m,n;
public:
Pair(int j,int k):m(j),n(k){}
int get() {return m;}
int get() const {return m+n;}
};
int main(){
Pair a(3,5);
const Pair b(3,5);
cout+a.get()
}
運行時的輸出結果是
A)33
B)38
C)83
D)88
總結
以上是生活随笔為你收集整理的2011年计算机二级试题,2011年3月全国计算机二级C++考试真题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 宁夏警官学院计算机专业,宁夏警官职业学院
- 下一篇: java mvc 面试题_2018年ja