一. 单选题(共10题,33分)
1. (单选题)设置虚基类的目的是:
A. 消除二义性
B. 简化程序
C. 提高运行效率
D. 减少目标代码
2. (单选题)
下列程序注释处应填入的语句是:
class Base{
public:
void fun()
{cout<<“Base::fun”<<endl;}
};
class Derived:public Base{
public:
void fun()
{ //显式调用基类的函数fun()
cout<<“Derived::fun”<<endl;}
};
A. fun();
B. Base::fun();
C. Base.fun()
D. Base->fun();
3. (单选题)可以用p.a的形式访问派生类对象p的基类成员的a,其中a是:
A. 私有继承的公有成员
B. 公有继承的私有成员
C. 公有继承的保护成员
D. 公有继承的公有成员
4. (单选题)C++类体系中,不能被派生类继承的有:
A. 常成员函数
B. 构造函数
C. 虚函数
D. 静态成员函数
5. (单选题)假设Class Y:public X,即类Y是类X的派生类,则说明一个Y类的对象时和删除Y类对象时 ,调用构造函数和析构函数的次序分别为:
A. X,Y;Y,X
B. X,Y;X,Y
C. Y,X;X,Y
D. Y,X;Y,X
6. (单选题)在哪种派生方式中,派生类外可以访问基类中的public成员:
A. public和private
B. public和protected
C. protected和private
D. 仅public
7. (单选题)派生类的构造函数的成员初始化列表中,不能包含:
A. 基类的构造函数
B. 基类的对象初始化
C. 派生类对象的初始化
D. 派生类中一般数据成员的初始化
8. (单选题)下面描述中,表达错误的是:
A. 公有继承时,基类中的public成员在派生类中仍是public的
B. 公有继承时,基类中的private成员在派生类中仍是private的
C. 公有继承时,基类中的protected成员在派生类中仍是protected的
D. 私有继承时,基类中的public成员在派生类中是private的
9. (单选题)建立包含有类对象成员的派生类对象时,自动调用构造函数的执行顺序依次为( )的构造函数。
A. 自己所属类、对象成员所属类、基类
B. 对象成员所属类、基类、自己所属类
C. 基类、对象成员所属类、自己所属类
D. 基类、自己所属类、对象成员所属类
10. (单选题)下面叙述不正确的是( )
A. 派生类一般都用公有派生
B. 对基类成员的访问必须是无二义性的
C. 赋值兼容规则也适用于多重继承的组合
D. 基类的公有成员在派生类中仍然是公有的
答案:
1-5:ABDBA
6-10:DCBCD