笔试题
一 选择题(1分*30)
1 在公有派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的()
A 私有成员 B 公有成员 C 保护成员 D 保护成员或私有成员
2 下列程序输出结果是()
#include<iostream>
void main(){
int n[][3] = { 10, 20, 30, 40, 50, 60};
int (*p)[3];
p = n;
cout << p[0][0] << "," << *(p[0] + 1) << ", " << (*p)[2] << endl;
A 10, 30, 50 B 10,20,30 C 20,40,60 D 10,30,60
3 假定A为一个类,则执行 A a(2) , b[3], *p[4] ;
语句时调用构造函数的次数为()
A 3 B 4 C 5 D 9
4 有关多态不正确的是()
A C++语法的多态性分编译时的多态和运行时的多态
B 编译时的多态性可通过函数重载实现
C 运行时的多态可通过模板和虚函数实现
D 实现运行时多态性的机制成为动态多态性
5 已知p
一个指向类A数据成员m的指针,a是类A的一个对象,如果要给m复制为5,正确做法是()
A a.p = 5
B a->p = 5
C a.*p = 5
D *a.p = 5
6 当一个类的某个函数被说明为virtual
时,该函数的在该类的所有派生类中()
A 都是虚函数
B 只有被重新说明的才是虚函数(本人注:此处题有点问题,貌似重新说明,应该是重写)
C 只有被重新说明为virtual
时才是虚函数
D 都不是虚函数
7 类B是类A的公有派生类, 类A和类B中都定义了虚函数func()
, p
是一个指向类A对象的指针,则p->A::func()
将()
A 调用类A中的函数
B 调用类B中的函数
C 根据p所指向的对象类型而确定调用类A中的函数或类B的函数
D 都调用
8 已知f1 和f2是同一个类中的两个成员函数,但是f1不能直接调用f2,这说明()
A f1和f2都是静态函数
B f1 不是静态函数, f2是静态函数