答案:
A
12.下面对静态数据成员的描述中,正确的是()。
A.静态数据成员可以直接用类名调用
B.静态数据成员可以在类体内进行初始化
C.静态数据成员不能受private控制符的作用
D.静态数据成员不可以被类的对象调用
答案:
A
13.当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为()。
A.以上都不对
B.ios:
:
out
C.ios:
:
in|ios:
:
out
D.ios:
:
in
答案:
C
14.使用派生类的主要原因是()。
A.提高程序的运行效率
B.提高代码的可重用性
C.实现数据的隐藏
D.加强类的封装性
答案:
B
15.C++利用()实现面向对象程序设计的继承性。
A.类的派生机制
B.构造数据类型—类
C.构造数据类型—枚举
D.函数重载与运算符重载
答案:
A
16.假定classA为一个类,f()为该类公有的数据成员,x为该类的一个对象,则访问x对象中成员函数f()的格式为()。
A.x.f()
B.x.f
C.x->f()
D.x->f
答案:
A
17.C++的继承性允许派生类继承基类的()。
A.部分特性,并允许增加新的特性或重定义基类的特性
B.部分特性,但不允许增加新的特性或重定义基类的特性
C.所有特性,并允许增加新的特性或重定义基类的特性
D.所有特性,但不允许增加新的特性或重定义基类的特性
答案:
C
18.下面对于指针的描述不正确的是()。
A.指针是地址变量
B.指针指向不同基类型的变量长度不同
C.指针不能用除0以外的常量赋值
D.两个指针变量的加减法无意义
答案:
B
19.在I/O流库中定义的控制输出宽度的函数为()。
A.width()
B.setw()
C.precision()
D.fill()
答案:
A
20.如果一个类至少有一个纯虚函数,那么该类就被称为()。
A.虚基类
B.纯基类
C.抽象类
D.基类
答案:
C
二、判断题(共20道试题,共40分)
21.静态的成员函数没有隐含的this指针,所以它们只能访问静态的数据成员。
答案:
正确
22.凡是左操作数必须为本类对象的运算符均应以类成员函数的方式重载。
答案:
正确
23.原型说明中没有指出返回类型的函数(包括主函数main),C++默认该函数的返回类型是void
答案:
错误
24.如果要在程序中使用IO流库,应包含头文件iostream.h。
答案:
正确
25.C++利用类来实现面向对象程序设计的继承性。
答案:
错误
26.IO流库重载的插入和析取运算符能处理所有的数据类型(包括自定义类型)。
答案:
错误
27.C++不允许定义有默认参数的函数。
答案:
错误
28.在面向对象的程序设计中,将一组对象的共同特性抽象出来形成类。
答案:
正确
29.一个类的友元一定是另一个类的成员函数。
答案:
错误
30.cout通常与显示器相连,cin通常与键盘相连。
答案:
正确
31.IO流库中定义的格式操作符ws表示跳过输入流前面的空白字符。
答案:
正确
32.在C++中,构造派生类对象时,总是先从基类的初始化开始的。
答案:
正确
33.在一般的成员函数中都隐含有一个this指针,用来指向对象自身,而在静态成员函数中是没有this指针的。
答案:
正确
34.类和对象之间的关系是抽象和具体的关系。
答案:
正确
35.公有继承方式下,基类成员的访问权限在派生类中保持不变。
答案:
正确
36.若左操作数为基本数据类型或其它类对象时,此运算符应以友元函数的方式重载。
答案:
正确
37.编译时的多态是通过动态联编来实现的,运行时的多态是通过静态联编实现的。
答案:
错误
38.构造函数是不能说明它的返回值类型的,但可以说明为void类型。
答案:
错误
39.C++对由const修饰符定义的常量进行严格的类型检查,但对用define定义的常量则不进行类型检查。
答案:
正确
40.构造函数和析构函数既可以由程序员调用,也可以由系统自动调用。
答案:
错误