电话:0731-83595998
导航

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

来源: 2018-07-27 19:14

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

编辑推荐:

下载Word文档

温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)

网络课程 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

精品课程

更多
10781人学习

免费试听更多

相关推荐
图书更多+
  • 电网书籍
  • 财会书籍
  • 其它工学书籍
拼团课程更多+
  • 电气拼团课程
  • 财会拼团课程
  • 其它工学拼团
热门排行

长理培训客户端 资讯,试题,视频一手掌握

去 App Store 免费下载 iOS 客户端