继承与派生习题

继承与派生习题

ID:40879891

大小:81.00 KB

页数:15页

时间:2019-08-09

继承与派生习题_第1页
继承与派生习题_第2页
继承与派生习题_第3页
继承与派生习题_第4页
继承与派生习题_第5页
资源描述:

《继承与派生习题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、C++讲义-第九章习题一.选择题1.下列对派生类的描述中,错误的是()A.一个派生类可以作为另一个派生类的基类。B.派生类至少有一个基类。C.派生类的成员除了它自己的成员之外,还包含了它的基类的成员。D.派生类中继承的基类成员的访问权限到派生类保持不变。2.派生类的对象对它的基类成员中,可以访问的是()A.公有继承的公有成员。B.公有继承的私有成员。C.公有继承的保护成员。D.私有继承的公有成员。3.对基类和派生类的关系描述中,错误的是()A.派生类是基类的具体化。B.派生类是基类的子集。C.派生类是基类定义的延续。D.派生类是基类的组

2、合。4.派生类的构造函数的成员初始化列表中,不能包含的是()A.基类的构造函数。B.派生类中子对象的初始化。C.基类的子对象初始化。D.派生类中一般数据成员的初始化。5.关于子类型的描述中,错误的是()A.子类型就是指派生类是基类的子类型。B.一种类型当它至少提供了另一种类型的行为,则这种类型是另一种类型的子类型。C.在公有继承下,派生类是基类的子类型。D.子类型关系是不可逆的。6.关于多继承二义性的描述中,错误的是()A.一个派生类的两个基类中都有某个同名成员,在派生类中对这个成员的访问可能出现二义性。B.解决二义性的常用方法是对成员

3、名进行类名限定。C.基类和派生类中同时出现的同名函数,也存在二义性问题。D.一个派生类是从两个基类派生来的,而这两个基类又有一个共同的基类,对该基类成员进行访问时,也可能出现二义性。7.设置虚基类的目的是()A.简化程序B.消除二义性C.提高运行效率D.减少目标代码8.带有虚基类的多层派生类构造函数的成员初始化列表中都要列出虚基类的构造函数,这样将对虚基类的子对象初始化的次数为()A.与虚基类下面的派生类个数有关。B.多次第15页共15页C.二次D.一次9.C++中的类有两种用法:一种是类的实例化,即生成类的对象,并参与系统的运行;另一

4、种是通过(),派生出新的类。A.复用B.继承C.单继承D.多继承10.当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员,这种特性是继承的()。A.规律性B.传递性C.重复性D.多样性11.若类A与类B的定义如下:classA{inti,j;public:voidget();//.....};classB:A{intk;public:voidmake(){k=i*j;}//....};则上述定义中,非法的是()。A.voidget();B.intk;C.voidmake()D.k=i*j;12.在派生类中定义的析构

5、函数与它所属的基类的关系是()。A.一定有关B.一定无关C.以上都不对13.在多继承中,公有派生和私有派生对于基类成员在派生类中的可访问性与单继承的规则是()。A.完全相同的B.完全不同的C.部分相同,部分不同D.以上都不对14.在多继承的构造函数定义中,几个基类的构造函数之间的分隔符是()。A.:B.;C.,D.::二.判断下列描述的正确性。1.C++语言中,既允许单继承,又允许多继承。2.派生类是从基类派生出来的,它不能再派生新的派生类。3.派生类的继承方式有两种:公有继承和私有继承。4.在公有继承中,基类中的公有成员和私有成员在派

6、生类中都是可见的。5.在公有继承中,基类中只有公有成员对派生类对象是可见的。6.在私有继承中,基类中只有公有成员对派生类是可见的。第15页共15页7.在私有继承中,基类中所有成员对派生类的对象都是不可见的。8.在保护继承中,对于垂直访问同于公有继承,而对于水平访问同于私有继承。9.派生类是它的基类的组合。10.构造函数可以被继承。11.析构函数不能被继承。12.子类型是不可逆的。13.只有是类M继承了类N,就可以说类M是类N的子类型。14.如果A类型是B类型的子类型,则A类型必然适应于B类型。15.多继承情况下,基类构造函数的执行顺序取

7、决于定义派生类时所指定的各基类的顺序。16.单继承情况下,派生类中对基类成员的访问也会出现二义性。17.解决多继承情况下出现的二义性的方法之一是使用成员名限定法。18.虚基类是用来解决多继承中公共基类在派生类中产生多个基类子对象的拷贝问题。三.回答问题。1.在下面给定的含有虚基类的复杂继承结构中,回答下列提出的各问题。classA{public:voidf();};classB:virtualpublicA{public:voidf();};classC:publicB{};classD:publicC,virtualpublicA{p

8、ublic:voidg();};问题:⑴画出上述结构的DAG图。⑵设有Dd;问:d.f()是否有二义性。⑶设有:voidD::g(){f();}。问:g()函数中对f()调用是否有二义性。2.在下面给定的继

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。