C++期末错题复习(选择题)(1)

知识共享许可协议 版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons

以下有关类与结构体关系的叙述不正确的是

A.结构体中只包含数据;类中封装了数据和操作
B.结构体的成员对外界通常是开放的;类的成员可以被隐蔽
C.用struct不能声明一个类型名;而class可以声明一个类名
D.结构体成员默认为public;类成员默认为private

正确答案C

答案解析
[解析] 类和结构体有着密切的血缘关系。类可以看做是将动作和数据都封装的结构体,当然结构体本身是没有动作的。另外,结构体中的成员对外界访问是没有限制的,而类的成员却是有不同的访问级别限制。

C++类体系中,不能被派生类继承的有( )。

A) 构造函数
B) 虚函数
C) 静态成员函数
D) 赋值操作函数

正确答案A

答案解析
[解析] 不能被继承的有构造函数、拷贝构造函数、赋值函数、析构函数。

关于new运算符的下列描述中,错误的是( )。

A.用来动态创建对象和对象数组
B.用它创建的对象和对象数组可以使用运算符delete删除
C.创建对象时要调用构造函数
D.它创建对象数组时必须指定初始值

正确答案
D

答案解析
暂无解析

下列关于类概念的描述中,错误的是( )。

A.类是抽象数据类型的实现
B.类是具有共同行为的若干对象的统一描述体
C.类是创建对象的模板
D.类就是C语言中的结构类型

正确答案
D

答案解析
[解析] 类是创建对象的模板,它包含着所创建对象的状态描述和方法的定义。类的完整描述包含了外部接口和内部算法以及数据结构的形式。

下列关于多继承二义性的描述中,错误的是( )。

A.一个派生类的两个基类中都有某个同名成员,派生类中这个成员的访问可能出现二义性
B.解决二义性的最常用的方法是对成员名的限定法
C.基类和派生类中同时出现的同名函数,也存在二义性问题
D.一个派生类是从两个基类派生出来的,而这两个基类又有一个共同的基类,对该基类成员进行访问时,可能出现二义性

正确答案
C

答案解析
暂无解析

下面对静态数据成员的描述中,正确的是( )。

A) 静态数据成员可以在类体内进行初始化
B) 静态数据成员不可以通过类的对象调用
C) 静态数据成员不能受private(私有)控制符的作用
D) 静态数据成员可以直接通过类名调用

正确答案
D

答案解析
[解析] 对于选项A,C++规定对静态数据成员的初始化应该在类体外进行初始化。所以选项A是错误的。
对于B选项,C++规定静态数据成员可由任意访问权限许可的函数或对象访问,所以选项B是错误的。
对于选项C,在C++中,静态数据成员也可以定义为私有的静态数据成员,所以选项C的描述是错误的。
对于选项D,在C++中,静态数据成员是类的所有对象共享的成员,即可以通过类名访问,也可以通过对象访问。但通过类名访问更方便、更高效。所以选项D的描述是正确的。

下列虚基类的声明中正确的是

A.class virtual B:public A
B.virtual class B:public A
C.class B:public A virtual
D.class B:virtual public A

正确答案
D

答案解析
[解析] 本题考核虚基类的声明方式。虚基类说明格式如下:
Virtual<继承方式><基类名>
其中,Virtual是虚基类的关键词。虚基类的说明是用在定义派生类时,写在派生类名的后面。即:
class<派生类名>:Virtual<继承方式><基类名>。

猜你喜欢

转载自blog.csdn.net/qq_44621510/article/details/92792633
今日推荐