第 1 页:选择题 |
第 5 页:程序改错题 |
第 6 页:综合应用题 |
第 7 页:参考答案 |
31.有如下程序;
#include
usingnamespacestd;
clasBasel{
public:
Basel(intd){cout< -Basel(){}
};
classBase2{
public:
Base2(intd){out< ~Base2(){}
};
classDerived:publicBase1,Base2{
public:
Derived(inta,intb,intC,intd):
Basel(b),Base2(a),b1(d),b2(c){}
private:
intb1;
intb2;
};
intmain(){
Derivedd(1,2,3,4);
return0;
}
运行时的输出结果是( )。
A.1234
B.2134
C.12
D.21
32.有如下程序:
#include
usingnamespacestd;
classBase{
public:
virtualvoidfunctionl(){cout<<’0’;}
voidfunction2(){out<<’1’;}
};
classDerived:publicBase{
oublic:
voidfunctionl(){cout<<’2’;}
voidfunction2(){cout<<’3’;}
};
intmain(){
Base*p=newDerived();
p->functionl();
p->function2();
return0;
}
运行时的输出结果是( )。
A.01
B.21
C.03
D.23
33.有如下类模板定义:
template
classBigNumber{
longn;
public;
BigNumber{Ti}:n(i){}
BigNumberoperator+(BigNumberb){
returnBigNumber{n+b.n);
}
};
已知b1、b2是BigNumber的两个对象,则下列表达中踏误的是( )。
A.b1+b2
B.b1+3
C.3+b1
D.3+3
34.下列关于文件流的描述中,正确的是( )。
A.文件流只能完成针对磁盘文件的输入、输出
B.建立一个文件流对象时,必须同时打开一个文件
C.若输入流要打开的文件不存在,将建立一个新文件
D.若输出流要打开的文件不存在,将建立一个新文件
35.有如下程序:
#include
usingnamespacestd;
classPair{
intm,n;
public;
Pair(intj,intk):m(j),n(k){}
intget(){returnm;}
intget()const{returnm+n;}
};
intmain(){
Paira(3,5);
constPairb(3,5);
cout< return0;
}
运行时的输出结果是( )。
A.33
B.38
C.83
D.88
36.有如下程序:
#include
usingnamespacestd;
voidf1(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< return0;
}
运行时的输出结果是( )。
A.10
B.16
C.26
D.36
37.有如下程序:
#include
usingnamespacestd;
classXA{
inta;
public:
staticintb;
XA(intaa):a(aa){b++;}
~XA(){}
intget(){returna;}
};
intXA::b=0
intmain(){
XAd1(1),d2(3);
cout< return0;
}
运行时的输出结果是( )。
A.5
B.6
C.7
D.8
38.有如下程序:
#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< return0;
}
运行时的输出结果是( )。
A.5
B.7
C.9
D.12
39.若是对类BigNumber中重载的类型转换运算符long进行声明,下列选项中正确的是( )。
A.operatorlong()const;
B.operatorlong(BigNumber);
C.10ngoperatorlong()const;
D.longoperatorlong(BigNumber);
40.有如下函数模板定义:
template
T1FUN(T2n){returnn*5,0;}
若要求以int型数据9作为函数实参调用该模板,并返回一个double型数据,则该调用应表示为( )。
A.FUN(9)
B.FUN<9>
C.FUN(9)
D.FUN<9>(double)
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |