一. 单选题(共13题,39分)
1. (单选题)以下基类中的成员函数表示纯虚函数的是:
A. virtual void vf(int);
B. void vf(int)=0 ;
C. virtual void vf(int){}
D. virtual void vf()=0;
2. (单选题)如果一个类至少有一个纯虚函数,那么就称该类为:
A. 抽象类
B. 派生类
C. 虚基类
D. 纯基类
3. (单选题)要实现动态联编,必须通过( )调用虚函数。
A. 对象指针
B. 派生类对象
C. 对象名
D. 派生类名
4. (单选题)下列叙述中,正确的是:
A. 虚函数必须在派生类中定义,基类不需定义。
B. 一个基类定义的虚函数,该类的所有派生类都继承并拥有该函数。
C. 派生类中重定义虚函数时,参数表必须改变。
D. 虚函数的返回类型必须是void。
5. (单选题)所谓多态性是指:
A. 不同的对象调用不同名称的函数
B. 不同的对象调用相同名称的函数
C. 一个对象调用不同名称的函数
D. 一个对象调用不同名称的对象
6. (单选题)关于虚函数的描述中,正确的是:
A. 虚函数是一个静态类型的成员
B. 虚函数是一个非成员函数
C. 基类中说明了虚函数之后,派生类中将其对应的函数可不必说明为虚函数
D. 派生类的虚函数与基类的虚函数具有不同的参数个数和类型
7. (单选题)下列描述中为抽象类的最主要特征的是:
A. 可以说明虚函数
B. 可以进行构造函数的重载
C. 可以定义友元
D. 不能说明其对象
8. (单选题)以下叙述正确的是( )
A. 构造函数调用虚函数采用动态联编
B. 构造函数可以说明为虚函数
C. 当基类的析构函数是虚函数时,它的派生类的析构函数也是虚函数
D. 析构函数不能说明为虚函数
9. (单选题)在派生类中定义虚函数时,可以与基类中相应的虚函数不同的是( )
A. 参数类型
B. 参数个数
C. 函数名称
D. 函数体
10. (单选题)类模板的使用实际上是将类模板实例化成为一个( )
A. 函数
B. 对象
C. 类
D. 抽象类
11. (单选题)关于类模板的模板参数,下列说法正确的是( )
A. 可以作为数据成员类型
B. 可以作为成员函数的返回类型
C. 可以作为成员函数的参数类型
D. 以上说法都正确
12. (单选题)下列模板声明中,正确的是:
A. template<typename T1,T2>
B. template<class T1,T2>
C. template<T1,T2>
D. template<typename T1,ypename T2>
13. (单选题)
若定义如下函数模板:
Template<typename T>
Max(T a,T b,T c)
{ c=a+b; }
则下列Max()函数模板能够调用成功的选项是:
A.
int x,y;
char z;
Max(x,y,z);
B.
double x,y,z;
Max(x,y,z);
C.
int x,y;
float z;
Max(x,y,z);
D.
float x;
double y,z;
Max(x,y,z)‘
答案:
1-5:DAABB
6-10:CDCDC
11-13:DDB