一、单选题(共 30 道试题,共 60 分。)V
1. 对于动态分配内存空间描述正确的是( )。
A. 使用new运算符分配的内存空间的长度必须是常量
B. delete运算符可以释放动态的存储空间和静态的存储空间
C. 用new分配的内存空间是不连续的
D. delete运算符只能以释放由new分配的动态存储空间
满分:2 分
2. 类的析构函数的作用是( )。
A. 一般成员函数
B. 类的初始化
C. 对象的初始化
D. 对象释放后的操作
满分:2 分
3. 如果一个类至少有一个纯虚函数,那么该类称为().。
A. 抽象类
B. 虚基类
C. 派生类
D. 以上都不对
满分:2 分
4. 假定AA为一个类,a为该类公有的数据成员,x为该类的一个对象,则访问x对象中数据成员a的格式为( )。
A. x(a)
B. x[a]
C. x->a
D. x.a
满分:2 分
5. 继承机制的作用是( )。
A. 信息隐藏
B. 数据封装
C. 定义新类
D. 数据抽象
满分:2 分
6. 面向对象软件开发中使用的OOD表示( )。
A. 面向对象分析
B. 面向对象设计
C. 面向对象语言
D. 面向对象方法
满分:2 分
7. 下列关于运算符重载的描述中,错误的是( )。
A. 运算符重载不可以改变操作数的个数
B. 运算符重载不可以改变运算符的功能
C. 运算符重载不可以改变结合方向
D. 运算符重载不可以改变运算优先级
满分:2 分
8. 面向对象方法的多态性是指( )。
A. 一个类可以派生出多个特殊类
B. 一个对象在不同的运行环境中可以有不同的变体
C. 针对一消息,不同的对象可以以适合自身的方式加以响应
D. 一个对象可以是由多个其他对象组合而成的
满分:2 分
9. 编译时的多态性使用什么获得?( )
A. 重载函数
B. 继承
C. 虚函数
D. B和C
满分:2 分
10. 假定CTest为一个类,并且有一无默认值的的有参构造函数和一无参构造函数,则执行“CTest objTest;”语句时将自动调用该类的( )。
A. 有参构造函数
B. 无参构造函数
C. 复制构造函数
D. 赋值构造函数
满分:2 分
11. 下列对派生类的描述中,( )是错误的。
A. 一个派生类可以作为另一个类的基类
B. 派生类至少有一个基类
C. 派生类的成员除了它自己的成员外,还包含它的基类的成员
D. 派生类中继承的基类成员的访问权限到派生类中保持不变
满分:2 分
12. 关于运算符重载,下列说法正确的是( )。
A. 重载时,运算符的优先级可以改变。
B. 重载时,运算符的结合性可以改变。
C. 重载时,运算符的功能可以改变。
D. 重载时,运算符的操作数个数可以改变。
满分:2 分
13. 派生类的对象对其基类中( )可直接访问。
A. 公有继承的公有成员
B. 公有继承的私有成员
C. 公有继承的保护成员
D. 私有继承的公有成员
满分:2 分
14. 假定一个类的构造函数为 “A(int aa, int bb) {a=aa; b=aa*bb;}”,则执行 “A x(4,5);”语句后,x.a和x.b的值分别为( )
A. 4和5
B. 5和4
C. 4和20
D. 20和5
满分:2 分
15. 关于运行时多态的下列描述中,()是错误的。
A. 运行时多态是以虚函数为基础的;
B. 运行时多态是在运行时确定所调用的函数代码的;
C. 用基类指针或引用所标识的派生类对象来操作虚函数才能实现运行时多态;
D. 运行时多态是在编译时确定操作函数的。
满分:2 分
16. 下面是五条顺序出现的声明语句,非法的初始化语句是()。
A. int i = –1;
B. const int ic=i;
C. const int *pc=
D. int *const cpi= E、const int *const cpic=
满分:2 分
17. 假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a()的格式为( )。
A. x.a
B. x.a()
C. x->a
D. x->a()
满分:2 分
18. 类的析构函数是一个对象被( )时自动调用的。
A. 建立
B. 撤消
C. 赋值
D. 引用
满分:2 分
19. C++对C语言作了很多改进,即从面向过程变成为面向对象的主要原因是( )。
A. 增加了一些新的运算符
B. 允许函数重载,并允许设置缺省参数
C. 规定函数说明符必须用原型
D. 引进了类和对象的概念
满分:2 分
20. 当一个类对象离开它的作用域时,系统自动调用该类的( )。
A. 无参构造函数
B. 带参构造函数
C. 拷贝构造函数
D. 析构函数
满分:2 分
21. 在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是( )。
A. 作为友元函数重载的1元运算符
B. 作为成员函数重载的1元运算符
C. 作为友元函数重载的2元运算符
D. 作为成员函数重载的2元运算符
满分:2 分
22. 派生类的构造函数的成员初始化列表中,不能包含()。
A. 基类的构造函数;
B. 派生类中子对象的初始化;
C. 基类的子对象初始化;
D. 派生类中一般数据成员的初始化;
满分:2 分
23. 假定AB为一个类,则执行 “AB x(a,5);”语句时将自动调用该类的 ( )。
A. 带参构造函数
B. 无参构造函数
C. 复制构造函数
D. 赋值重载函数
满分:2 分
24. 下列说法不正确的是()。
A. 在类中,成员的默认访问特性是私有的。
B. 类封装了数据和操作。
C. 类实质上是一种数据类型。
D. 在类的定义中,必须包含private、publi
E. protected三种存取方式对应得部分。
满分:2 分
25. 类的构造函数是在定义该类的一个(??)时被自动调用执行的。
A. 成员函数
B. 数据成员
C. 对象
D. 友元函数
满分:2 分
26. 若需要把一个类外定义的成员函数指明为内联函数,则必须把关键字( )放在函数原型或函数头的前面。
A. in
B. inline
C. inLine
D. InLiner
满分:2 分
27. 关于运算符重载,下列说法正确的是()。
A. 所有运算符都可以重载
B. 通过重载,可以使运算符应用于自定义的数据类型
C. 通过重载,可以创建原来没有的运算符号
D. 通过重载,可以改变运算符的优先级
满分:2 分
28. 不能参与重载的运算符是()。
A. 类
B. 函数
C. 函数模板
D. 运算符
满分:2 分
29. 在C++中,抽象基类ios直接派生出( )。
A. istream, ostream, ifstream,ofstream
B. istream, ostream, istrstream,ostrstream
C. istream, ostream, iostream
D. istream, ostream, fstreambase,strstreambase
满分:2 分
30. 假定AB为一个类,则执行 “AB a[10];”语句时调用该类无参构造函数的次数为( )。
A. 0
B. 1
C. 9
D. 10