1. 已知print( ) 函数是一个类的常成员函数,它无返回值。下列表示中,(A )是正确的。
A. void print () const
B. const void print ()
C. void const print ()
D. void print (const)
2. 派生类的构造函数的成员初始化列表中,不能包含(A )。
A. 基类的构造函数
B. 派生类中子对象的初始化
C. 基类的子对象的初始化
D. 派生类中一般数据成员的初始化
3. 通过派生类对象可以对其基类(A)成员是进行访问。
A. 公有继承的公有成员
B. 公有继承的私有成员
C. 公有继承的保护成员
D. 私有继承的公有成员
4. 进行文件操作时需要包含文件(B)。
A. iostream.h
B. fstream.h
C. stdio.h
D. stdlib.h
5. 如果一个类至少有一个纯虚函数,那么该类称为(A)。
A. 抽象类
B. 虚基类
C. 派生类
D. 基类
6. 类的保护成员,不可以让(B)来直接访问。
A. 该类的成员函数
B. 主函数
C. 该类的友元函数
D. 该类的派生类
7. 在多继承构造函数定义中,几个基类构造函数用(C)分隔。
A. :
B. ;
C. ,
D. ::
8. 设置虚基类的目的是(B)。
A. 简化程序
B. 消除二义性
C. 提高运行效率
D. 减少目标代码
9. 当一个函数无返回值时,函数的类型应定义为(A )。
A. void
B. 任意
C. int
D. 无
10. 派生类的构造函数的成员初始化列表中,不能包含(C )。
A. 基类的构造函数
B. 派生类子对象的初始化
C. 基类的子对象的初始化
D. 派生类中一般数据成员的初始化
11. (D)不是构造函数的特征。
A. 构造函数的名与类名相同
B. 构造函数可以重载
C. 构造函数可以设置默认值
D. 构造函数必须指定类型说明
12. 下列(C)不能作为类的成员。
A. 自身类对象的指针
B. 自身类对象的引用
C. 自身类对象
D. 另一个类的对象
13. 重载函数在调用时选择的依据,( D)是错误的。
A. 参数个数
B. 参数类型
C. 参数个数或参数类型
D. 函数类型
14. 友元函数(A)。
A. 没有this指针
B. 是类的成员之一
C. 可以用类名和对象名来调用
D. 只能用对象名调用
15. 已知f1(int)是类A的公有成员函数,p是指向成员函数f1()的指针,采用(B)是正确的。
A. p = f1;
B. p = A::f1;
C. p = A::f1();
D. p = f1();
16. 运算符->*的功能是(A)。
A. 用来表示指向对象指针对指向类成员指针的操作
B. 用来表示对象对指向类成员指针的操作
C. 用来表示指向对象指针对类成员的操作
D. 用来表示对象类成员的操作
17. 下列对派生类的描述中,(D)是错的。
A. 一个派生类可以作为另一个派生类的基类
B. 派生类至少有一个基类
C. 派生类的成员除了它自己的成员以外,还包含了它的基类成员
D. 派生类中继承的基类成员的访问权限到派生类保持不变
18. 对于 int * pa[5]; 的描述,(D)是正确的。
A. pa是一个指向数组的指针,所指向的数组是5个int型元素。
B. pa是一个指向某数组中第5个元素的指针,该元素是int型变量。
C. pa[5]表示某个数组的第5个元素的值。
D. pa是一个具有5个元素的指针数组,每个元素是一个int型指针。