当前位置:首页 > 全部子站 > IT > 等级考试

2018年9月计算机二级C++考前基础练习试题(9)

来源:长理培训发布时间:2018-07-27 19:14:11

 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。【解析】保护继承时,类成员的访问级别只能是降低为保护模式,因此即使基类的公有成员,也被缩小为保护模式。

责编:曾珂

发表评论(共0条评论)
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,发表审核后显示!

国家电网校园招聘考试直播课程通关班

  • 讲师:刘萍萍 / 谢楠
  • 课时:160h
  • 价格 4580

特色双名师解密新课程高频考点,送国家电网教材讲义,助力一次通关

配套通关班送国网在线题库一套

课程专业名称
讲师
课时
查看课程

国家电网招聘考试录播视频课程

  • 讲师:崔莹莹 / 刘萍萍
  • 课时:180h
  • 价格 3580

特色解密新课程高频考点,免费学习,助力一次通关

配套全套国网视频课程免费学习

课程专业名称
讲师
课时
查看课程
在线题库
面授课程更多>>
图书商城更多>>
在线报名
  • 报考专业:
    *(必填)
  • 姓名:
    *(必填)
  • 手机号码:
    *(必填)
返回顶部