|
一、单选题(共 30 道试题,共 60 分。)V 1. 下列对派生类的描述中,( )是错误的。
A. 一个派生类可以作为另一个类的基类
B. 派生类至少有一个基类
C. 派生类的成员除了它自己的成员外,还包含它的基类的成员
D. 派生类中继承的基类成员的访问权限到派生类中保持不变
满分:2 分
2. 下列不是C++基本数据类型的是()。
A. int
B. string
C. char
D. void
满分:2 分
3. 假定AA为一个类,a为该类私有的数据成员,GetValue( )为该类公有函数成员,它返回a的值,x为该类的一个对象,则访问x对象中数据成员a的格式为( )。
A. x.a
B. x.a()
C. x>GetValue()
D. x.GetValue()
满分:2 分
4. 关于运行时多态的下列描述中,()是错误的。
A. 运行时多态是以虚函数为基础的;
B. 运行时多态是在运行时确定所调用的函数代码的;
C. 用基类指针或引用所标识的派生类对象来操作虚函数才能实现运行时多态;
D. 运行时多态是在编译时确定操作函数的。
满分:2 分
5. 下列()的调用方式是引用调用。
A. 形参和实参都是变量
B. 形参是指针,实参是地址值
C. 形参是引用,实参是变量
D. 形参是变量,实参是地址值
满分:2 分
6. 在C++中,抽象基类ios直接派生出( )。
A. istream, ostream, ifstream,ofstream
B. istream, ostream, istrstream,ostrstream
C. istream, ostream, iostream
D. istream, ostream, fstreambase,strstreambase
满分:2 分
7. 假定AB为一个类,则执行 “AB r1=r2;”语句时将自动调用该类的( )。
A. 无参构造函数
B. 带参构造函数
C. 赋值重载函数
D. 拷贝构造函数
满分:2 分
8. 假定AA为一个类,a为该类公有的数据成员,x为该类的一个对象,则访问x对象中数据成员a的格式为( )。
A. x(a)
B. x[a]
C. x->a
D. x.a
满分:2 分
9. 基类和派生类可以分别称为()。
A. “大类”和“小类”
B. “父类”和“子类”
C. “小类”和“大类”
D. “子类”和“父类”
满分:2 分
10. 面向对象软件开发中使用的OOD表示( )。
A. 面向对象分析
B. 面向对象设计
C. 面向对象语言
D. 面向对象方法
满分:2 分
11. C++语言是从早期的C语言逐步发展演变而来的,与C语言相比,它在求解问题方法上进行的最大改进是( )。
A. 面向过程
B. 面向对象
C. 安全性
D. 复用性
满分:2 分
12. 友元的作用之一是()。
A. 提高程序的运行效率。
B. 加强类的封装性。
C. 实现数据的隐蔽性。
D. 增加成员函数的种类。
满分:2 分
13. 下面关于引用的说法错误的是( )。
A. 引用是被引用对象的别名
B. 对引用的修改就是对被引用对象的修改,反之亦然
C. 引用不一定立即初始化
D. 引用不能建立数组
满分:2 分
14. 关于运算符重载,下列说法正确的是()。
A. 所有运算符都可以重载
B. 通过重载,可以使运算符应用于自定义的数据类型
C. 通过重载,可以创建原来没有的运算符号
D. 通过重载,可以改变运算符的优先级
满分:2 分
15. 关于基类和派生类的关系,()是错误的。
A. 派生类对象属于基类;
B. 可以用派生类指针指向派生类对象;
C. 可以将基类对象赋值给派生类对象;
D. 派生类对象指针可转换为基类指针。
满分:2 分
16. 以下关于函数模板的论述中,正确的是()。
A. 一旦定义了函数模板,就不能再定义同名的重载函数
B. 从同一个函数模板实例化后得到的多个模板函数属于函数重载;
C. 函数模板中只有一种参数;
D. 在定义函数模板时,template语句与函数模板定义语句之间可以有别的语句。
满分:2 分
17. 在定义一个派生类时,若不使用保留字显式地规定采用何种继承方式,则默认为( )方式。
A. 私有继承
B. 非私有继承
C. 保护继承
D. 公用继承
满分:2 分
18. 面向对象方法的多态性是指( )。
A. 一个类可以派生出多个特殊类
B. 一个对象在不同的运行环境中可以有不同的变体
C. 针对一消息,不同的对象可以以适合自身的方式加以响应
D. 一个对象可以是由多个其他对象组合而成的
满分:2 分
19. cin是某个类的标准对象,该类是( )。
A. ostream
B. istream
C. stdout
D. stdin
满分:2 分
20. 类的析构函数是一个对象被( )时自动调用的。
A. 建立
B. 撤消
C. 赋值
D. 引用
满分:2 分
21. 在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是( )。
A. 作为友元函数重载的1元运算符
B. 作为成员函数重载的1元运算符
C. 作为友元函数重载的2元运算符
D. 作为成员函数重载的2元运算符
满分:2 分
22. 关于静态成员,正确的说法是()。
A. 静态成员函数可以直接访问该类中的非静态成员
B. 非静态成员函数不能直接访问该类中的静态成员
C. 静态数据成员同其它数据成员一样通过构造函数进行初始化
D. 静态成员在任何对象创建之前就已经创建
满分:2 分
23. 下述静态数据成员的特性中,()是错误的。
A. 声明静态数据成员时前面要加修饰符static。
B. 静态数据成员要在类体外进行初始化。
C. 在程序中引用静态数据成员时,要在静态数据成员名前加<类名>和作用域运算符。
D. 静态数据成员是本类中个别对象所共享的。
满分:2 分
24. 采用重载函数的目的是( )。
A. 函数模板也是一个具体类型的函数
B. 函数模板的类型参数与函数的参数是同一个概念
C. 通过使用不同的类型参数,函数模板可以生成不同类型的函数定义
D. 用函数模板定义的函数没有类型
满分:2 分
25. 运行时的多态性使用什么获得?( )
A. 重载函数
B. 继承
C. 虚函数
D. B和C
满分:2 分
26. 假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a()的格式为( )。
A. x.a
B. x.a()
C. x->a
D. x->a()
满分:2 分
27. 假定一个类的构造函数为 “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 分
28. 下述静态数据成员的特性中,()是错误的。
A. 声明静态数据成员时前面要加修饰符static。
B. 静态数据成员要在类体外进行初始化。
C. 在程序中引用静态数据成员时,要在静态数据成员名前加<类名>和作用域运算符。
D. 静态数据成员是一个类的个别对象所共享的。
满分:2 分
29. 对于一个类的构造函数,其函数名与类名( )。
A. 完全相同
B. 基本相同
C. 不相同
D. 无关系
满分:2 分
30. 假定一个类的构造函数为 “B(int ax, int bx): a(ax), b(bx) {}”,执行 “B x(1,2),y(3,4);x=y;”语句序列后x.a的值为( )。
A. 1
B. 2
C. 3
D. 4
满分:2 分
二、判断题(共 20 道试题,共 40 分。)V 1. 打开一个二进制文件时可以同时指定它既是输入文件又是输出文件。( )
A. 错误
B. 正确
满分:2 分
2. 内置函数的定义必须出现在第一次调用内置函数之前。( )
A. 错误
B. 正确
满分:2 分
3. 在设计类时一般把数据成员设置为私有的,把函数成员设置为公用的,从而实现了公用接口和私有实现的分离。( )
A. 错误
B. 正确
满分:2 分
4. 在用class定义一个类时,如果不加声明,数据成员和成员函数默认的访问权限是public。( )
A. 错误
B. 正确
满分:2 分
5. 若类B是类A的私有派生类,类C是类B的私有派生类,则类C可访问类A的公用成员。( )
A. 错误
B. 正确
满分:2 分
6. Iostream是抽象基类ios的直接派生类.。()
A. 错误
B. 正确
满分:2 分
7. 使用虚函数可以避免多重继承产生的二义性。( )
A. 错误
B. 正确
满分:2 分
8. C++只能用于面向对象程序设计,不适用于面向过程程序设计。( )
A. 错误
B. 正确
满分:2 分
9. 派生类能够继承基类的析构函数。( )
A. 错误
B. 正确
满分:2 分
10. 使用虚函数无法避免多重继承产生的二义性。( )
A. 错误
B. 正确
满分:2 分
11. 不能通过派生类对象引用从私有基类继承过来的任何成员。( )
A. 错误
B. 正确
满分:2 分
12. C++中的字符串输入输出通常指定一个字符数组作为存储空间,它只能输入输出string类数据。( )
A. 错误
B. 正确
满分:2 分
13. 引用可以不初始化。( )
A. 错误
B. 正确
满分:2 分
14. 引用和指针都可作函数参数。( )
A. 错误
B. 正确
满分:2 分
15. C++语言支持封装性和继承性,不支持多态性。( )。
A. 错误
B. 正确
满分:2 分
16. 在调用构造函数时不必给出实参的构造函数称为默认构造函数。一个类只能有一个默认构造函数。( )
A. 错误
B. 正确
满分:2 分
17. 析构函数必须指定返回类型以及函数参数。( )
A. 错误
B. 正确
满分:2 分
18. 字符串"sdfgh"的长度是5。( )
A. 错误
B. 正确
满分:2 分
19. 重载函数不能改变运算符运算对象的个数。( )
A. 错误
B. 正确
满分:2 分
20. 对使用默认参数的构造函数,如果在类外定义构造函数,应该在定义构造函数时指定默认值( )。
A. 错误
B. 正确
满分:2 分
|
|