电话:0731-83595998
导航

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

来源: 2018-07-27 19:14

 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()。

编辑推荐:

下载Word文档

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

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

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

网友评论(共0条评论)

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

最新评论

点击加载更多评论>>

精品课程

更多
10781人学习

免费试听更多

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

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

去 App Store 免费下载 iOS 客户端