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

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

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

 1.生成派生类对象时,派生类构造函数调用基类构造函数的条件是(  )。

A.无需任何条件

B.基类中显式定义了构造函数

C.派生类中显式定义了构造函数

D.派生类构造函数明确调用了基类构造函数

2.下列关于派生类和基类的描述中,正确的是(  )。

A.派生类成员函数只能访问基类的公有成员

B.派生类成员函数只能访问基类的公有和保护成员

C.派生类成员函数可以访问基类的所有成员

D.派生类对基类的默认继承方式是公有继承

3.有如下类模板定义:

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

4.下列关于文件流的描述中,正确的是(  )。

A.文件流只能完成针对磁盘文件的输入、输出

B.建立一个文件流对象时,必须同时打开一个文件

C.若输入流要打开的文件不存在。将建立一个新文件

D.若输出流要打开的文件不存在,将建立一个新文件

5.有如下程序:

#include

usingnamespacestd;

classPair{

intm,n;

public;

Pair(intj,intk):m(j),n(k){}

intget(  ){returnIn;}

intget(  )const{returnm+n;}

};

intmain(  ){

Paira(3,5);

constPairb(3,5);

cout

}

运行时的输出结果是(  )。

A.33

B.38

C.83

D.88

6.下列叙述中正确的是(  )。

A.全局变量的作用域一定比局部变量的作用域范围大

B.静态类别变量的生存期贯穿于整个程序的运行期间

C.函数的形参都属于全局变量

D.未在定义语句中赋初值的aut0变量和static变量的初值都是随机值

7.假定MyClass为一个类,则执行MyClassa,b(2),*p;语句时,自动调用该类构造函数(  )次。

A.2

B.3

C.4

D.5

8.能正确表示逻辑关系”a≥10或a≤0”的C++语言表达式是(  )。

A.a>=10ora<=0

B.a)一01a(一10

C.a>=10&&a<=0

D.a>=10||a(=0

9.若执行下面的程序时,从键盘上输入5和2,则输出结果是(  )。

#include(iostream.h)

voidmain(  )

(inta,b,k;

cin>>a>>b;

k=a:

if(ak=a%b;

else

k=b%a:

cout((k

B.3

C.2

D.0

10.假定MyClass为一个类,那么下列的函数说明中,(  )为该类的析构函数。

A.void~MyClass(  );

B.~MyC|ass(intn);

C.MyClass(  );

D.~MyClass(  );

参考答案

1.D。【解析】派生类的构造函数必须通过调用基类的构造函数来初始化基类子对象。所以在定义派生类的构造函数时,除了对自己的类据成员进行初始化外,还必须负责调用基类构造函数,使基类的数据成员得以初始化。

2.B。【解析】派生类成员函数不能访问基类的private成员,只能由基类的对象来访问。这才体现了C++的数据封装特性。

3.C。【解析】该题考查了C++模板类和+运算符重载的知识,3+b1时,程序不能将b1转化为整型,所以编译会出错。

4.C。【解析】输入流要打开的文件不存在,则会自动建立该文件,而输出流要打开的文件不存在,则会报错,而不会新建一个文件。

5.B。【解析】const函数只能被const对象调用,a.get()函数调用返回值是3,而b.get()调用的返回值是8。

6.B。【解析】本题考查的是变量的作用域及其生存周期。一个全局变量的生存周期从它被声明开始,直到程序结束;一个局部变量的生存周期从它被声明开始,直到包含它的最近的一个程序块结束。静态变量的生存周期将延续到整个程序的终止。

7.A。【解析】C++在创建一个对象时,会调用类的构造函数。执行MyClassab,(2),*P;创建了两个对象a、b和指针P,在创建对象a和b会调用构造函数,而创建指针P时,由于P本身不是对象,所以不调用类的构造函数。

8.D。【解析】逻辑运算符“‖”表示或的意思。

9.C。【解析】本题考查简单的if…else语句。先执行条件if(a

10.D。【解析】C++语言中析构函数为符号“~”加类名,且析构函数没有返回值和参数,故前不加void关键字。所以正确的形式应该是~MyClass()。

责编:曾珂

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

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

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

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

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

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

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

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

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

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

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