ch08key继承与多态1

ch08key继承与多态1

ID:34415600

大小:202.42 KB

页数:5页

时间:2019-03-05

ch08key继承与多态1_第1页
ch08key继承与多态1_第2页
ch08key继承与多态1_第3页
ch08key继承与多态1_第4页
ch08key继承与多态1_第5页
资源描述:

《ch08key继承与多态1》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、5第八章继承与派生习题第八章继承与多态习题一.基本概念与基础知识自测题8.1填空题8.1.1如果类α继承了类β,则类α称为(1)类,而类β称为(2)类。(3)类的对象可作为(4)类的对象处理,反过来不行,因为(5)。如果强制转换则要注意(6)。答案:(1)派生类(2)基类(3)派生类(4)基类(5)派生类有一些新成员(6)只能派生类强制转换为基类8.1.2当用public继承从基类派生一个类时,基类的public成员成为派生类的(1)成员,protected成员成为派生类的(2)成员,对private成员是(3)。公有派生可以使其类的(

2、4),所以公有派生是主流。答案:(1)public成员(2)protected成员(3)不可访问(4)接口不变8.1.3利用继承能够实现(1)。这种实现缩短了程序开发的时间,VC++中的(2)很好地体现了这一点。答案:(1)代码的复用(2)MFC编程8.1.4一个派生类只有一个直接基类的情况称为(1),而有多个直接基类的情况称为(2)。继承体现了类的(3)概念,这在MFC中得到了很好表现,MFC中只采用了(4)。答案:(1)单继承(2)多重继承(3)层次(4)单继承8.1.5MFC中从根类(1)层层派生出绝大多数MFC中的类,其中命令相

3、关类(2)派生出来的最重要的类组成了(3)。答案:(1)CObject(2)CCmdTarget(3)应用程序结构(ApplicationArchitecture)的集合8.1.6C++中多态性包括两种多态性:(1)和(2)。前者是通过(3)实现的,而后者是通过(4)和(5)来实现的。答案:(1)编译时的5第八章继承与派生习题(2)运行时的(3)函数和运算符的重载(4)类继承关系(5)虚函数8.1.7在基类中将一个成员函数说明成虚函数后,在其派生类中只要(1)、(2)和(3)完全一样就认为是虚函数,而不必再加关键字(4)。如有任何不同,

4、则认为是(5)而不是虚函数。除了非成员函数不能作为虚函数外,(6)、(7)和(8)也不能作为虚函数。答案:(1)同虚函数名(2)同参数表(3)同返回类型。如基类中返回基类指针,而派生类中返回派生类指针是允许的(4)virtual(5)重载(6)静态成员函数(7)内联函数(8)构造函数8.1.8纯虚函数定义时在函数参数表后加(1),它表明程序员对函数(2),其本质是将指向函数体的指针定为(3)。答案:(1)=0(2)不定义(3)NULL8.1.9MFC根据消息处理函数的不同,把消息分为(1)、(2)和(3)。其中(4)是编制应用程序时应用

5、最多的。答案:(1)窗口消息(2)控制通知消息(3)命令消息(4)命令消息8.1.10消息映射的搜索路线除按(1)直线查找,因(2)同样有消息处理能力,因此消息的搜索路线是迂回曲折的。答案:(1)按派生关系(2)文档/视结构(document/view)8.1简答题8.1.1构造函数和析构函数可以继承吗?派生类构造函数各部分的执行次序是怎样的?答:构造函数和析构函数不可以继承。派生类构造函数各部分的执行次序是:1.调用基类构造函数,按它们在派生类声明的先后顺序,依次调用。2.调用新增成员对象的构造函数,按它们在类定义中声明的先后顺序,依

6、次调用。3.派生类的构造函数体中的操作。8.1.2什么叫派生类的同名覆盖(override)?5第八章继承与派生习题答:如果派生类声明了一个和某个基类成员同名的新成员(当然如是成员函数,参数表也必须一样,否则是重载),派生类中的新成员就屏蔽了基类同名成员,类似函数中的局部变量屏蔽全局变量。称为同名覆盖(override)。8.1.1派生类的析构函数中需完成什么任务?是否要编写对基数和成员对象的析构函数的调用?为什么?答:析构函数的功能是作善后工作,析构函数无返回类型也没有参数,情况比较简单。派生类析构函数定义格式与非派生类无任何差异,不

7、要编写对基数和成员对象的析构函数的调用,只要在函数体内把派生类新增一般成员处理好就可以了,因为对新增的成员对象和基类的善后工作,系统会自己调用成员对象和基类的析构函数来完成。8.1.2为什么要使用虚基类?怎样定义虚基类?用一个实例来解释虚基类在其派生类中的存储方式。答:在多重继承是有可能出现同一基类的两个拷贝,为避免这种情况,可使用虚基类。虚基类(virtualbaseclass)定义方式如下:class派生类名:virtual访问限定符基类类名{...};class派生类名:访问限定符virtual基类类名{...};virtual关

8、键字只对紧随其后的基类名起作用。如下派生:存储关系如(b),在职研究生类有两个Person拷贝。采用虚基类后存储关系如下:5第八章继承与派生习题采用虚基类后在职研究生类储存图StudentGStudentE

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

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

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