首页 > 全部 > 二级C++ > 国家二级C++机试(继承和派生)模拟试卷15

国家二级C++机试(继承和派生)模拟试卷15

本单篇文档共8813字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C++ 章节练习 4625人下载
价格: 1.00 原价:¥9.60
收藏

国家二级C++机试(继承和派生)模拟试卷15

选择题

1.有如下类声明:

c1ass XA{

int x;

public:

XA(int n){x=n;}

};

c1ass XB:public XA{

int y;

public:

XB(int a,:int b);

};

在构造函数XB的下列定义中,正确的是( )。

B

解析:此题考查的是派生类中构造函数的定义。派生类的构造首先要调用基类的构造函数,对基类成员初始化:然后对派生类中的新增成员初始化。格式为:派生类名(构造函数形参表)基类构造函数(形参表)。

2.下列有关继承和派生的叙述中,正确的是( )。(D)

A. 如果一个派生类私有继承其基类,则该派生类对象不能访问基类的保护成员

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

C. 基类对象可以赋值给派生类对象

D. 如果派生类没有实现基类的一个纯虚函数,则该派生类是一个抽象类

解析:此题考查的是继承和派生。无论是哪种继承方式,派生类都能够访问基类的公有和保护成员,而不能访问基类的私有成员,故选项A和B错误;公有继承时,基类的对象不可作为派生类的对象处理,即基类对象不可赋值给派生类对象,所以选项C错误。

3.下列有关类继承的叙述中,错误的是( )。(D)

A. 继承可以实现软件复用

B. 虚基类可以解决由多继承产生的二义性问题

C. 派生类构造函数要负责调用基类的构造函数

D. 派生类没有继承基类的私有成员.

解析:此题考查的是类继承。派生类继承了基类的(全部数据成员,私有成员),只是基类的私有成员在派生类中是隐藏的,只能在基类内部访问,故选项D错误。

4.在下列关键字中,不能用来表示继承方式的是( )。(B)

A. private

B. static

C. public

D. protected

解析:此题考查的是继承方式。继承方式有私有(private)、保护( protected)、公有(public)三种。

5.在类声明中,紧跟在“public:”后声明的成员的访问权限是( )。(B)

A. 私有

B. 公有

C. 保护

D. 默认

解析:类中提供了3种访问控制的权限:公有,私有和保护。其中公有类型定义了类的外部接口,任何一个外部的访问都必须通过外部接口进行。私有类型的成员只允许本类的成员函数访问,来自类外部的任何访问都是非法的,保护类型介于公有类型和私有类型之间,在继承和派生时可以体现出其特点。

6.定义派生类时,若不使用关键字显式地规定采用何种继承方式,则默认方式为( )。(A)

A. 私有继承

B. 非私有继承

C. 保护继承

D. 公有继承

解析:继承的方式包括三种:公有继承,保护继承和私有继承。如果不显示的给出继承方式,缺省的类继承方式是私有继承private。

7.有如下类定义:

c1ass XX {

int xx,

public:

XX(): xx(0){cout<<’A’;}

XX(int n):xx(n){cout<<’B’;}

};

c1ass YY:public XX{

int yy;

public:

YYO:yy(0){cout<<yy;}

YY(int n): XX(n+1), yy(n){cout<<yy;}

YY(int m, int n):XX(m), yy(n){cout<<yy;}

};

下列选项中,输出结果为AO的语句是( )。(D)

A. YYy1(0,0);

B. YYy2(1);

C. YYy3(0);

D. YYy4;

解析:考查的是类的继承。选项A的执行结果为B0,建立YY的对象y1,首先调用其构造函数,YY继承于XX所以先调用的为XX的构造函数,根据输入的参数可知输出B,然后执行YY的构造函数输出0;同理,选项B的执行结果为Bl,选项C的执行结果为B0。

8.有如下类定义:

c1ass XX{

int xdata;

public:

XX(intn=0):xdata(n){}

};

c1ass YY:public XX{

int ydata;

public:

YY(int m=0, int n=0):XX(m), ydata(n){}

};

YY类的对象包含的数据成员的个数是( )。(B)

A. 1

B. 2

C. 3

D. 4

解析:因为类XX包括一个数据成员xdata,而类YY继承自类XX,所在类YY中也包含数据成员xdata,同时类YY中也定义了其本身的数据成员ydata,因而YY类的对象包含的数据成员的个数是2。

9.下列关于继承方式的描述中,错误的是( )。(D)

A. 如果不显式地指定继承方式,缺省的继承方式是私有(private)

B. 采用公有继承方式时,基类中的公有成员在派生类中仍然是公有成员

C. 采用保护继承方式时,基类中的保护成员在派生类中仍然是保护成员

D. 采用私有继承方式时,基类中的私有成员在派生类中仍然是私有成员

解析:基类中的私有成员在派生类中是隐蔽的,只能在基类内部访问。派生类中的成员不可以访问基类中的私有成员,只可以访问基类中的公有成员和保护成员。

10.下列代码段声明了3个类

c1ass Person{};

c1ass Student:public Person{};

c1ass Undergraduate:Student{};

下列关于这些类之间关系的描述中,错误的是( )。(B)

A. 类Person是类Undergraduate的基类

B. 类Undergraduate从类student公有继承

C. 类student是类Person的派生类

D. 类Undergraduate是类Person的派生类

解析: Student类公有继承自Person类,Undergraduate类私有继承自Student类。所以Undergraduate类是从Student类私有继承的。

11.下列关于基类和派生类关系的叙述中,正确的是( )。(D)

A. 每个类最多只能有一个直接基类

B. 派生类中的成员可以访问基类中的任何成员

C. 基类的构造函数必须在派生类的构造函数体中调用

D. 派生类除了继承基类的成员,还可以定义新的成员

解析:继承分为单继承和多继承,一个类只有一个直接基类时,称为单继承:而一个类同时有多个直接基类时,则称为多继承。派生类的数据成

本文档预览:3600字符,共8813字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
国家二级C++机试(继承和派生)模拟试卷15

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号