关键词不能为空

当前您在: 主页 > 英语 >

第8 继承与多态习题 - noanswer

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-03-03 09:40
tags:

-

2021年3月3日发(作者:lambert)






继承与多态习题




.



基本概念与基础知识自测题



8.1



填空题



8.1.1



如果类


α


继 承了类


β


,则类


α

称为





1




类,而类


β


称为




2




类。




3






的对象可作为




4




类的对象处理,反过来不行,因为




5





。如果强制转换则


要注意





6







答案:



1


)基类




2


)派生类




3


)派生类




4


)基类




5


)派生类有一些新成员

< p>



6


)只能派生类强制 转换为基类



8.1.2



当用


public


继承从基类派生一个类时,< /p>


基类的


public


成员成为派生类的< /p>





1




成员,


protected


成员成为派生类 的





2





成员,对


private

< p>
成员是




3





。公有派生可


以使其类的





4





,所以公有派生是主流。



答案:



1



public


成员




2



protected


成员




3


)不可访问




4

< p>
)接口不变



8.1.3



利用继承能够实现




1




。这种实现缩短了程序开发的时间,


VC++


中的




2





好地体现了这一点。



答案:



1


)代码的复用< /p>




2



MFC


编程



8.1.4



一个派生类只有一个直接基类的情况称为





1





,而有多个直接基类的情况称为


(< /p>


2





。继承体现了类的





3




概念,这在


MFC


中得到了很好表现,


MFC


中只采


用了




4






答案:



1


)单继承




2


)多重继承




3


)层次




4


)单继承



8.1.5



C++


中多态性包括两种多态性:





1









2





。前者是通过




3




实现的,


而后者是通过





4








5





来实现的。



答案:



1


)编译时的




2


)运行时的




3


)函数和运算符 的重载




4


)类继承关系




5


)虚函数



8.1.6



在基类中将一个成员函 数说明成虚函数后,


在其派生类中只要





1








2














3




完全一样就认为是虚函数,而不必再加关键字





4





。如有任何不同,则


认为是




5




而不是虚函数。除了非成员函数不能作为虚函数外,





6







7














8




也不能作为虚函数。



答案:



1


)同虚函数名


< /p>



2


)同参数表



1




3< /p>


)同返回类型。如基类中返回基类指针,而派生类中返回派生类指针是允许的




4


< br>virtual



5


)重载




6


)静态成员函数

< br>



7


)内联函数




8


)构造函数



8.1.7



纯虚函数定义时在函数参数表后加




1




,它表明程序员对函数





2




,其本质


是将指向函数体的指针定为




3






答案:



1



=0



2


)不定义




3



NUL L


8.2



简答题



8.2.1



构造函数和析构函数可以 继承吗?派生类构造函数各部分的执行次序是怎样的?



答:构 造函数和析构函数不可以继承。派生类构造函数各部分的执行次序是:



1.



调用基类构造函数,按它们在派 生类声明的先后顺序,依次调用。



2.



调用新增成员对象的构造函数, 按它们在类定义中声明的先后顺序,依次调用。



3.



派生类的构造函数体中的操作。



8.2.2



什么叫派生类的同名覆盖 (


override



?

< p>
答:


如果派生类声明了一个和某个基类成员同名的新成员

< br>(当然如是成员函数,


参数表也必


须一样,否则是重载)


,派生类中的新成员就屏蔽了基类同名成员,类似函数中的局部变量

屏蔽全局变量。称为同名覆盖(


override





8.2.3


< /p>


派生类的析构函数中需完成什么任务?是否要编写对基数和成员对象的析构函数的


调用?为什么?



答:析构函数的功能是作善后 工作,


析构函数无返回类型也没有参数,


情况比较简单。


派生


类析构函数定义格式与非派生类无任何差异,不要编写对基数和成 员对象的析构函数的调


用,


只要在函数体内把派生类新增一般成 员处理好就可以了,


因为对新增的成员对象和基类


的善后工作, 系统会自己调用成员对象和基类的析构函数来完成。



8.2.4



为什么要使用虚基类?怎 样定义虚基类?用一个实例来解释虚基类在其派生类中的


存储方式。


答:在多重继承是有可能出现同一基类的两个拷贝,为避免这种情况,可使用虚基 类。


虚基类(


virtual base class


)定义方式如下:



class



派生类名


:


virtual


访问限定符



基类类名


{...};


class



派生类名


:


访问限定符



virtual



基类类名


{...};


virtual


关键字只对紧随其后的基类名起作用。



如下派生:



存储关系如


(b)


,在职研究生类有两个


Person


拷贝。采用虚基类后存储关系如下:




Person


Person


在职研 究生类只有一个


Person


拷贝。



Student


Student


新成员



8.2.5



简单叙述派生类与基类的赋值兼容规则。



GStudent


答:


凡是基类所能 解决的问题,


公有


派生类都可以解决。


在任何需要基类对象的地方都可以


GStudent


新成员



用公有派生类的对象来代替,这条规则称


赋值兼容规则


。它包括以下情况:



EGStudent


Person


Person


1




派生类 的对象可以赋值给基类的对象,


这时是把派生类对象中从对应基类中继承来的成


Employe


员赋值给基类对象。反过来不行,因为派生类的新成员无 值可赋。



Employee


新成员



2




可以将 一个派生类的对象的地址赋给其基类的指针变量,


但只能通过这个指针访问派生


Person


成员



EGStudent


新成员



2



采用虚基类后在职研究生类储存图


-


-


-


-


-


-


-


-



本文更新与2021-03-03 09:40,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/698797.html

第8 继承与多态习题 - noanswer的相关文章