网站大量收购闲置独家精品文档,联系QQ:2885784924

2025-03-17C++PrimerPlus第十三章类继承复习题 .pdfVIP

2025-03-17C++PrimerPlus第十三章类继承复习题 .pdf

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

穷则独善其身,达则兼善天下。——《孟子》

2025-03-17C++PrimerPlus··········

复习题

1.派⽣类从基类那⾥继承了什么?

基类的公有成员将成为派⽣类的公有成员,基类的私有对象也将成为派⽣类的⼀部分,但只能通过基类的公有和保护⽅法访问。

2.派⽣类不能从基类那⾥继承什么?

构造函数

赋值运算符

析构函数

友元

3.假设baseDMA::operation=()函数的返回类型为void,⽽不是

baseDMA,这将有什么后果?如果返回类型为baseDMA,⽽不是

baseDMA,⼜将有什么后果?

1.该重载运算符只能⽤于单独赋值,⽽不能连续赋值。

2.赋值运算符会返回⼀个baseDMA定义的对象,并将=右侧的值赋给左侧,占⽤了更多时间和内存。

4.创建和删除派⽣类对象时,构造函数和析构函数调⽤的顺序是怎样的?

创建派⽣类对象时,先调⽤基类的构造函数(负责初始化继承的数据成员),再调⽤派⽣类的构造函数(初始化新增的数据成员)

先调⽤派⽣类的析构函数,再调⽤基类的构造函数

5.如果派⽣类没有添加任何数据成员,它是否需要构造函数?

需要构造函数

6.如果基类和派⽣类定义了同名的⽅法,当派⽣类对象调⽤该⽅法时,被调⽤

的将是哪个⽅法?

调⽤派⽣类定义的⽅法。如果希望派⽣类重新定义⽅法,则应在基类中将⽅法定义为虚⽅法。

7.在什么情况下,派⽣类应定义赋值运算符?

如果派⽣类的构造函数使⽤了动态内存分配,则必须提供给显式赋值运算符。

8.可以将派⽣类对象的指针赋给基类指针吗?可以将基类对象的地址赋给派⽣

类指针吗?

能(向上强制转换)

能(向下强制转换,必须要显式类型转换)

饭疏食,饮水,曲肱而枕之,乐亦在其中矣。不义而富且贵,于我如浮云。——《论语》

9.可以将派⽣类对象赋给基类对象吗?可以将基类对象赋给派⽣类对象吗?

能,派⽣类新增的数据成员将被丢弃

也许能,仅当如果派⽣类定义了⽤于将基类对象给派⽣对象的赋值运算符

10.假设定义了⼀个函数,它将基类对象的引⽤作为参数。为什么该函数也可

以将派⽣类对象作为参数?

因为根据向上强制转换原则,基类对象的引⽤或指针也可以指向派⽣类。

11.假设定义了⼀个函数,它将基类对象作为参数(即函数按值传递基类对

象)。为什么该函数也可以将派⽣类对象作为参数?

将基类对象作为函数参数,按值传递将会把派⽣类的基类部分传递给函数。因此该函数也可以将派⽣类对象作为参数。

12.为什么通常按引⽤传递对象⽐按值传递对象的效率更⾼?

通过传递引⽤⽽不是整个数据对象,可以提⾼程序的运⾏速度

利⽤关键字const传递引⽤也可以保护原始数据

如果使⽤了虚函数,则程序将根据引⽤指向的对象的类型来选择⽅法

13.假设Corporation是基类,PublicCorporation是派⽣类。再假设

这两个类都定义了head()函数,ph是指向Corporation类型的指针,且

被赋给了⼀个PublicCorporation对象的地址。如果基类将head()定义

为:

a.常规⾮虚⽅法;

b.虚⽅法;

则ph-head()将被如何解释?

a.调⽤Corporation的head()⽅法

b.调⽤PublicCorporation的head()⽅法

14.下述代码有什么问题?

不符合is-a继承模型,House和kitchen派⽣和基关系反转了

派⽣类中调⽤了基类私有域中的变量kit_sq_ft

重载了基类定义的虚⽅法

文档评论(0)

166****0336 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档