一、单选题(共 30 道试题,共 60 分。)V 1. 下述静态数据成员的特性中,()是错误的。
A. 声明静态数据成员时前面要加修饰符static。
B. 静态数据成员要在类体外进行初始化。
C. 在程序中引用静态数据成员时,要在静态数据成员名前加<类名>和作用域运算符。
D. 静态数据成员是本类中个别对象所共享的。
满分:2 分
2. 在定义一个派生类时,若不使用保留字显式地规定采用何种继承方式,则默认为( )方式。
A. 私有继承
B. 非私有继承
C. 保护继承
D. 公用继承
满分:2 分
3. 函数重载与函数模板的说法错误的是()。
A. 当函数的函数体不同时,可以把函数设计为重载函数;
B. 当函数体相同,仅仅操作的数据类型不同时,可把函数设计为模板;
C. 重载函数和函数模板都是抽象的,都需实例化;
D. 函数模板有待于实例化为模板函数,重载函数可以直接引用。
满分:2 分
4. 用new运算符创建一个含有10个元素的一维整型数组的正确语句是( )。
A. int p = new int(10);
B. int p = new int[10];
C. int *p = new int [10];
D. int *p = new int(10);
满分:2 分
5. 实现运行时的多态性要使用( )。
A. 重载函数
B. 析构函数
C. 构造函数
D. 虚函数
满分:2 分
6. 假定AA是一个类,abc是该类的一个成员函数,则参数表中隐含的第一个参数为( )。
A. abc
B. *this
C. this
D. this&
满分:2 分
7. 假定AB为一个类,则执行 “AB x;”语句时将自动调用该类的()。
A. 带参构造函数
B. 无参构造函数
C. 拷贝构造函数
D. 赋值重载函数
满分:2 分
8. 对于类中定义的成员,其隐含访问权限为()。
A. public
B. ptotected
C. private
D. static
满分:2 分
9. 下列的符号常变量定义中,错误的定义是( )。
A. const M=10;
B. const int M=20;
C. const char ch;
D. const bool mark=true;
满分:2 分
10. 假定AB为一个类,则执行 “AB a[10];”语句时调用该类无参构造函数的次数为( )。
A. 0
B. 1
C. 9
D. 10
满分:2 分
11. 关于C++中的继承机制,错误的说法是()。
A. 虚拟继承限定基类只能通过一条路径派生出派生类;
B. 解决多继承带来的二义性的方法之一是对成员名加以限定;
C. 派生类的构造函数的成员初始化列表中,可包含基类中的子对象;
D. 继承是一种组织类的基本手段。
满分:2 分
12. 为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择( )。
A. 内置函数
B. 重载函数
C. 递归函数
D. 函数模板
满分:2 分
13. 关于运行时多态的下列描述中,()是错误的。
A. 运行时多态是以虚函数为基础的;
B. 运行时多态是在运行时确定所调用的函数代码的;
C. 用基类指针或引用所标识的派生类对象来操作虚函数才能实现运行时多态;
D. 运行时多态是在编译时确定操作函数的。
满分:2 分
14. 假定AA为一个类,a为该类公有的数据成员,px为指向该类对象的一个指针,则访问px所指对象中数据成员a的格式为( )。
A. px(a)
B. px[a]
C. px->a
D. px.a
满分:2 分
15. 以下正确的描述是( )。
A. 不允许设置参数的默认值
B. 设置参数的默认值只能在定义函数时设置
C. 设置参数的默认值时,应该设置右边的参数
D. 设置参数的默认值时,应该全部参数都设置
满分:2 分
16. 双目运算符重载为普通函数时,其参数表中应带有( )个参数。
A. 0
B. 1
C. 2
D. 3
满分:2 分
17. 派生类的成员函数可以直接访问基类的( )成员。
A. 所有
B. 公有和保护
C. 保护和私有
D. 私有
满分:2 分
18. 关于基类和派生类的关系,()是错误的。
A. 派生类对象属于基类;
B. 可以用派生类指针指向派生类对象;
C. 可以将基类对象赋值给派生类对象;
D. 派生类对象指针可转换为基类指针。
满分:2 分
19. 对类对象成员的初始化是通过构造函数中给出的( )实现的。
A. 函数体
B. 参数初始化表
C. 参数表
D. 参数初始化表或函数体
满分:2 分
20. 构造函数不具备的特征是( )。
A. 构造函数的函数名与类名相同
B. 构造函数可以重载
C. 构造函数可以设置默认参数
D. 构造函数必须指定类型说明
满分:2 分
21. 下面是四条顺序出现的声明语句,非法的初始化语句是()。
A. int i = –1;
B. const int ic=i;
C. const int *pc=⁣
D. int *const cpi=⁣
满分:2 分
22. 面向对象软件开发中使用的OOD表示( )。
A. 面向对象分析
B. 面向对象设计
C. 面向对象语言
D. 面向对象方法
满分:2 分
23. 假定AA为一个类,a为该类私有的数据成员,GetValue( )为该类公有函数成员,它返回a的值,x为该类的一个对象,则访问x对象中数据成员a的格式为( )。
A. x.a
B. x.a()
C. x>GetValue()
D. x.GetValue()
满分:2 分
24. 关于面向对象系统分析,下列说法中不正确的是( )。
A. 术语“面向对象分析”可以用缩写OOA表示
B. 面向对象分析阶段对问题域的描述比设计阶段更详细
C. 面向对象分析包括问题域分析和应用分析两个步骤
D. 面向对象分析需要识别对象的内部和外部特征
满分:2 分
25. 关于构造函数特点描述中,错误的是()。
A. 定义构造函数必须指出类型
B. 构造函数的名字与该类的类名相同
C. 一个类中可以定义0个至多个构造函数
D. 构造函数是一个成员函数
满分:2 分
26. 在一个类中可以对一个运算符进行( )重载。
A. 1种
B. 2种以下
C. 3种以上
D. 多种
满分:2 分
27. 下列关于私有继承的说法中正确的是()。
A. 基类成员对派生类新定义的成员函数是不可见的;
B. 基类成员对派生类新定义的成员函数是可见的;
C. 只有基类成员中的公有成员对派生类新定义的成员函数是可见的;
D. 基类成员中的保护成员对派生类新定义的成员函数是可见的。
满分:2 分
28. 编写C++程序一般需经过的几个步骤依次是()。
A. 编译、编辑、连接、调试
B. 编辑、编译、连接、调试
C. 编译、调试、编辑、连接
D. 编辑、调试、编辑、连接
满分:2 分
29. 下列说法错误的是()。
A. 在类中不能对所定义的数据成员进行初始化;
B. 类的公有成员函数是类与外界的接口
C. 同一个类的两个对象占用相同的内存空间;
D. 类实现数据隐藏。
满分:2 分
30. 设置虚基类的目的是()。
A. 简化程序
B. 消除二义性
C. 提高运行效率
D. 减少目标代码
满分:2 分