一、单选题:
1.假设ClassY:publicX,即类Y是类X的派生类,则说明一个Y类的对象时和删除Y类对象时,调用构造函数和析构函数的次序分别为( )。 (满分:5)
A. X
Y;Y
X
B. X
Y;X
Y
C. Y
X;Y
X
D. Y
X;X
Y
2.对基类和派生类的关系描述中,错误的是( )。 (满分:5)
A. 派生类是基类的具体化
B. 基类继承了派生类的属性
C. 派生类是基类定义的延续
D. 派生类是基类的特殊化
3.C++的继承性允许派生类继承基类的( )。 (满分:5)
A. 部分特性,并允许增加新的特性或重定义基类的特性
B. 部分特性,但不允许增加新的特性或重定义基类的特性
C. 所有特性,并允许增加新的特性或重定义基类的特性
D. 所有特性,但不允许增加新的特性或重定义基类的特性
4.关于this指针使用说法正确的是( )。 (满分:5)
A. 保证每个对象拥有自己的数据成员,但共享处理这些数据的代码
B. 保证基类私有成员在子类中可以被访问。
C. 保证基类保护成员在子类中可以被访问。
D. 保证基类公有成员在子类中可以被访问。
5.在公有派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的( )。 (满分:5)
A. 私有成员
B. 公有成员
C. 保护成员
D. 保护成员或私有成员
6.已知:p是一个指向类A数据成员m的指针,A1是类A的一个对象。如果要给m赋值为5,正确的是( )。 (满分:5)
A. A1.p=5;
B. A1->p=5;
C. A1.*p=5;
D. *A1.p=5;
7.类B是类A的公有派生类,类A和类B中都定义了虚函数func( )
p是一个指向类A对象的指针,则p->A::func( )将( )。 (满分:5)
A. 调用类A中的函数func( )
B. 调用类B中的函数func( )
C. 根据p所指的对象类型而确定调用类A中或类B中的函数func( )
D. 既调用类A中函数,也调用类B中的函数
8.假定一个类的构造函数为A(int aa
int bb) {a=aa--;b=a*bb;}
则执行A x(4
5);语句后,x.a和x.b的值分别为( )。 (满分:5)
A. 3和15
B. 4和20
C. 5和4
D. 20和5
9.所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是( )。 (满分:5)
A. 类
B. 对象
C. 函数体
D. 数据块
10.对于int *pa[5];的描述,正确的是( )。 (满分:5)
A. pa是一个指向数组的指针,所指向的数组是5个int型元素
B. pa是一个指向某个数组中第5个元素的指针,该元素是int型变量
C. pa[5]表示某个数组的第5个元素的值
D. pa是一个具有5个元素的指针数组,每个元素是一个int型指针
11.若声明数组int a[10],则对数组中第三个元素的引用正确的是( )。 (满分:5)
A. a[1]
B. a[2]
C. a[3]
D. a[4]
12.如果从原有类定义新类可以实现的是( )。 (满分:5)
A. 信息隐藏
B. 数据封装
C. 数据抽象
D. 继承机制
13. (满分:5)
A. 10
30
50
B. 10
20
30
C. 20
40
60
D. 10
30
60
14.以下基类中的成员函数表示纯虚函数的是( )。 (满分:5)
A. virtual void tt( )=0
B. void tt(int)=0
C. virtual void tt(int)
D. virtual void tt(int){}
15.若有语句char a[]= "test";int b=strlen(a);则执行语句后b的值为( )。 (满分:5)
A. 3
B. 4
C. 5
D. 0
16.静态成员函数没有( )。 (满分:5)
A. 返回值
B. 返回类型
C. 指针参数
D. this指针
17.若有语句char a[]= "test";则数组a[]中共有( )个变量。 (满分:5)
A. 3
B. 4
C. 5
D. 0
18.有关多态性说法不正确的是( )。 (满分:5)
A. C++语言的多态性分为编译时的多态性和运行时的多态性
B. 运行时的多态性可通过模板和虚函数实现
C. 编译时的多态性可通过函数重载实现
D. 实现运行时多态性的机制称为动态多态性
转载请注明易百网www.openhelp100.com
三、判断题:
1.指针指向的内存地址可以改变,与之类似,引用指向的变量也可以改变。 (满分:5)
A. 错误
B. 正确
2.C++语言中,函数的声明和函数的定义必须在同一个源文件内。 (满分:5)
A. 错误
B. 正确
更多免费学习资料请进www.openhelp100.com下载