A.10,8,10
B.10,8,8
C.8,8,10
D.8,8,8
13.可以用p.a的形式访问派生类对象p的基类成员a其中a是( )。
A.私有继承的公有成员
B.公有继承的私有成员
C.公有继承的保护成员
D.公有继承的公有成员
14.用于类中虚成员函数说明的关键字( )。
A.virtual
B.public
C.protected
D.private
15.下列虚基类的声明中正确的是( )。
A.class virtual B:public A
B.virtual class B:public
C.class B:public A virtual
D.class B: virtual public A
16.下列静态数据成员的特性中,( )是错误的。
A.说明静态数据成员时前边要加关键字static来修饰
B.静态数据成员在类体外进行初始化
C.引用静态数据成员时,要在静态数据成员名前加和作用域运算符
D.静态数据成员不是所有对象所共有的
17.多态调用是指( )。
A.以任何方式调用一个虚函数
B.以任何方式调用一个纯虚函数
C.借助于指向对象的基类指针或引用调用一个虚函数
D.借助于指向对象的基类指针或引用调用一个纯虚函数
18.下列运算符中,()运算符在C++中不能重载。
A.:
B.+
C.-
D.=
19.下面说法中正确的是( )。
A.一个类只能定义一个构造函数,但可以定义多个析构函数
B.一个类只能定义一个析构函数,但可以定义多个构造函数
C.构造函数与析构函数同名,只要名字前加了一个求反符号(~)
D.构造函数可以指定返回类型,而析构函数不能指定任何返回类型,即使是void类型也不可以
20.下列对派生类的描述中错误的是()。
A.派生类至少有一个基类
B.派生类可作为另一个派生类的基类
C.派生类除了包含它直接定义的成员外,还包含其基类的成员
D.派生类对其继承的基类的成员访问权限保持不变
21.运算符delete删除一个动态对象时( )。
A.首先为该动态对象调用构造函数,再释放其占用的内存
B.首先释放该动态对象占用的内存,再为其调用构造函数
C.首先为该动态对象调用析构函数,再释放其占用的内存
D.首先释放动态对象占用的内存,再为其调用析构函数
22.进行文件操作时需要包含_ ()头文件。
A.iostream
B.fstream
C.stdio
D.stdlib
23.在C++中,关于下列设置参数默认值的描述中,正确的是( )。
A.不允许设置参数的默认值
B.设置参数默认值只能在定义函数时设置
C.设置参数默认值时,应该是先设置右边的再设置左边的
D.设置参数默认值时,应该全部参数都设置
24.要在类对象上使用运算符,以下不用必须被重载的运算符是()。
A.[ ]
B.=
C.++
D.--
25.若定义cin>>str;当输入 Microsoft Visual Studio 6.0! 所得的结果是str= ()。
A.Microsoft Visual Studio 6.0!
B.Microsoft
C.Microsoft Visual
D.Microsoft Visual Studio 6.0
26.关于函数模板,描述错误的是( )。
A.函数模板必须由程序员实例化为可执行的函数模板
B.函数模板的实例化由编译器实现
C.一个类定义中,只要有一个函数模板,则这个类是类模板
D.类模板的成员函数都是函数模板
27.关于类模板,描述错误的是( )。
A.一个普通基类不能派生类模板
B.类模板从普通类派生,也可以从类模板派生
C.根据建立对象时的实际数据类型,编译器把类模板实例化为模板类
D.函数的类模板参数须通过构造函数实例化
28.对基类和派生类的描述中错误的是( )。
A.派生类是基类的具体化
B.基类继承了派生类的属性
C.派生类是基类定义的延续
D.派生类是基类的特殊化
29.下列引用的定义中,( )是错误的。
A.int i; int &j=i;
B.int i; int &j; j=i;
C.float i; float &j=i;
D.char d; char &k=d;
30.抽象类的作用主要是()。
A.直接用作基类
B.直接用作指针
C.引用的基类型
D.包括以上各项
31.“#include ”是()预处理命令。
A.宏定义
B.文件包含
C.条件编译
D.工程配置
32.在C++中,类与类之间的继承关系具有( )。
A.自反性
B.对称性
C.传递性
D.反对称性
33.this指针是C++实现( )的一种机制。
A.抽象
B.封装
C.继承
D.重载
34.下列运算符中,()在C++中不能重载。
A.?:
B.+
C.-
D.<=
35.下面说法中正确的是( )。
A.当声明的内容不同时,声明同一个名字的两个类是允许的
B.不完全声明的类也可以实例化
C.声明同一个名字的两个类时,要求声明的内容也相同
D.声明同一个名字的两个类是错误的
二、判断题 (共 15 道试题,共 30 分)
36.C++语言中,既允许单继承,又允许多继承。
37.以app方式打开文件时,当前的读指针和写指针都定位于文件尾。
38.面向对象的英文缩写是OOP。
39.默认形参值应在函数定义处指定。
40.在删除一个动态对象时,将自动调用该动态对象所属类的析构函数。
41.虚函数是用virtual关键字说明的成员函数。
42.在用class定义一个类时,数据成员和成员函数的默认访问权限是public。
43.类成员的三种访问控制属性是public、private和friend。
44.一个类的静态数据成员被该类的所有对象共享。
45.类的常量数据成员只能在常量成员函数中使用。
46.析构函数是一种函数体为空的成员函数。
47.以友元方式重载运算符时,形参列表中至少有一个参数必须是自定义数据类型。
48.当类的继承方式为公有继承时,基类的私有成员在派生类中不可访问。
49.类的成员函数中可以直接访问对象成员中的私有成员。
50.定义纯虚函数所用的关键字是purevirtual。