习题3
一、选择题
1.在C++中,类与类之间的继承关系具有( C )
A)自反性 B)对称性 C)传递性 D)反对称性
2.在公有继承的情况下,基类的成员(私有的除外)在派生类中的访问权限( B )
A)受限制 B)保持不变 C)受保护 D)不受保护
3.按解释中的要求在下列程序划线处填入的正确语句是:( C )
#include <iostream.h>
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();
4.在保护继承的情况下,基类的成员(私有的除外)在派生类中的访问权限( C )
A)受限制 B)保持不变 C)受保护 D)不受保护
5.在哪种派生方式中,派生类可以访问基类中的protected成员(B )
A)public和private B)public、protected和private
C)protected和private D)仅protected
6.当一个派生类仅有protected继承一个基类时,基类中的所有公有成员成为派生类的(C)
A) public成员 B) private成员 C) protected成员 D) 友元
7.不论派生类以何种方法继承基类,都不能使用基类的(B )
A) public成员 B) private成员 C) protected成员 D) public成员和protected成员
8下面叙述错误的是(S )。
A)基类的protected成员在派生类中仍然是protected的
B)基类的protected成员在public派生类中仍然是protected的
C)基类的protected成员在private派生类中是private的
D)基类的protected成员不能被派生类的对象访问
9.下列说法中错误的是(S )。
A) 保护继承时基类中的public成员在派生类中仍是public的
B)公有继承时基类中的private成员在派生类中仍是private的
C)私有继承时基类中的public成员在派生类中是private的
D)保护继承时基类中的public成员在派生类中是protected的
10下面叙述错误的是( C)。
A)派生类可以使用private派生
B)对基类成员的访问必须是无二义性的多态性与虚函数
C)基类成员的访问能力在派生类中维持不变
D)赋值兼容规则也适用于多继承的组合
11派生类的构造函数的成员初始化列表中,不能包含(C )。
A)基类的构造函数 B)派生类中子对象的初始化
C)基类中子对象的初始化 D)派生类中一般数据成员的初始化
12.下列虚基类的声明中,正确的是:( B )
A)class virtual B: public A B)class B: virtual public A
C)class B: public A virtual D)virtual class B: public A
13. .实现运行时的多态性采用( D )
A)重载函数 B)构造函数 C)析构函数 D)虚函数
14.若一个类中含有纯虚函数,则该类称为(D )
A) 基类 B) 纯基类 C) 派生类 D) 抽象类
15.假设A为抽象类,下列声明( B)是正确的
A) A fun(int); B) A *p; C) int fun(A); D) A Obj;
16.在派生类中,重载一个虚函数时,要求函数名、参数的个数、参数的类型、参数的顺序和函数的返回值(B )
A) 不同 B) 相同 C) 相容 D) 部分相同
17.下面函数原型声明中,(C)声明了fun为普通虚函数
A) void fun()=0; B) virtual void fun()=0;
C) virtual void fun(); D) virtual void fun(){};
18.在下面四个选项中, (A)是用来声明虚函数的。
A)virtual B)public C)using D)false
19.实现运行时的多态性要使用(D)。
A)重载函数 B)构造函数
C)析构函数 D)虚函数
20.关于虚函数的描述中,正确的是(D)。
A)虚函数是一个静态成员函数
B)虚函数是一个非成员函数
C)虚函数既可以在函数说明时定义,也可以在函数实现时定义
D)派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型
二、填空题:
1.派生类对基类的继承有三种方式:_public_ __、_protected_ __ 和__private_ __。
2.如果类Alpha继承了类Beta,则类Alpha称为__派生 __类,类Beta称为__基 _类。
3. 设置虚基类的目的是为了消除二义性,可通过_virtual标识虚基类。
4. 类继承中,缺省的继承方式是__ private _________。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论