为了帮助大家复习好2014年计算机等级考试,本次我们考吧网特为广大考生整理了计算机等级考试模拟试题,希望广大考生能够喜欢。本次主要汇编了计算机等级《二级C++》精选试题:
一、选择题(每小题1分,共40小题,共40分)
29.下面类的定义,有( )处错误。
classMyClass
{public:
voidMyClass();
~MyClass(intvahle);
private:
inti=0;};
A.1B.2
C.3D.4
30.有以下程序:
classDate
{public:
Date(inty,intm,intd);
{year=Y;
month=m;
day=d;}
Date(inty=2000)
{year=y;
month=10;
day=1;}
Date(Date&d)
{year=d.year;
month=d.month;
day=d.day;}
voidprint()
{cout< day< private:
intyear,month,day;};
Datefun(Dated)
{Datetemp;
temp=d;
returntemp;}
intmain()
{Datedatel(2000,1,1),date2(0,0,O);
Datedate3(date1);
date2=fun(date3);
return0;}
程序执行时,Date类的复制构造函数被调用的次数是( )。
A.2
B.3
C.4
D.5
31.下列表示纯虚函数的成员函数是( )。
A.virtualintfunc(int);B.voidfunc(int)=0;
C.virtualvoidfunc=0;D.virtualvoidrune(int){}
32.若有以下程序:
#include
usillgnamespacestd;
classA
{private:
inta;
public:
A(inti)
{a=i;}
voiddisp()
{cout< classB
{private:
intb;
public:
B(intj)
{b=j;}
voiddisp()
{COUt< classC:publicB,publicA
{private:
intC;
public:
C(intk):A(k-2),B(k+2)
(c=k;)
voiddisp()
{A::disp();
B::disp();
cout< intmain()
{Cobj(10);
obj.disp();
return0;}
程序执行后的输出结果是( )。
A.10,10,10
B.10,12,14
C.8,10,12
D.8,12,10
29.C。【解析】上述类的定义共有三处错误:①类的成员变量不能在定义时进行初始化;②类的构造函数不能有返回值(包括void类型);③类的析构函数不能有参数。
30.B。【解析】本题复制构造函数一共被调用了三次:第一次是在执行语句Datedate3(datel);时,用已经建立的对象datel对正在建立的对象date3进行初始化;第二次是在调用fun函数时,由于是传值调用,因此实参对象date3要对形参对象d进行初始化;第三次是在执行fun函数中的返回语句returntemp;时,系统初始化一个匿名对象时使用了复制构造函数。
31.C。【解析】本题考查纯虚函数的定义形式。由于纯虚函数在最后要有“=0”,故据此排除A和D。而B中没有出现virtual关键词,故正确答案为C。
32.D。【解析】本题考查派生类构造函数的使用。派生类C具有多重继承关系,所以在派生类C的构造函数中应该包含基类A和B的成员初始化列表。
推荐阅读: