设为首页 加入收藏

TOP

第13章复习题答案
2013-10-07 15:50:58 来源: 作者: 【 】 浏览:74
Tags:章复 习题 答案

第13章复习题答案

1.基类的公有成员成为派生类的公有成员。基类的保护成员成为派生类的保护成员。基类的私有成员被继承,但不能直接访问。复习题2的答案提供了这些通用规定的特例。

2.不能继承构造函数、析构函数、赋值运算符和友元。

3.如果返回的类型为void,仍可以使用单个赋值,但不能使用连锁赋值:

 

如果方法返回一个对象,而不是引用,则该方法的执行速度将有所减慢,这是因为返回语句需要复制对象。

4.按派生的顺序调用构造函数,最早的构造函数最先调用。调用析构函数的顺序正好相反。

5.是的,每个类都必须有自己的构造函数。如果派生类没有添加新成员,则构造函数可以为空,但必须存在。

6.只调用派生类方法。它取代基类定义。仅当派生类没有重新定义方法或使用作用域解析运算符时,才会调用基类方法。然而,应把将所有要重新定义的函数声明为虚函数。

7.如果派生类构造函数使用new或new[ ]运算符来初始化类的指针成员,则应定义一个赋值运算符。更普遍地说,如果对于派生类成员来说,默认赋值不正确,则应定义赋值运算符。

8.当然,可以将派生类对象的地址赋给基类指针;但只有通过显式类型转换,才可以将基类对象的地址赋给派生类指针(向下转换),而使用这样的指针不一定安全。

9.是的,可以将派生类对象赋给基类对象。对于派生类中新增的数据成员都不会传递给基类对象。然而,程序将使用基类的赋值运算符。仅当派生类定义了转换运算符(即包含将基类引用作为唯一参数的构造函数)或使用基类为参数的赋值运算符时,相反方向的赋值才是可能的。

10.它可以这样做,因为C++(www.cppentry.com)允许基类引用指向从该基类派生而来的任何类型。

11.按值传递对象将调用复制构造函数。由于形参是基类对象,因此将调用基类的复制构造函数。复制构造函数以基类引用为参数,该引用可以指向作为参数传递的派生对象。最终结果是,将生成一个新的基类对象,其成员对应于派生对象的基类部分。

12.按引用(而不是按值)传递对象,这样可以确保函数从虚函数受益。另外,按引用(而不是按值)传递对象可以节省内存和时间,尤其对于大型对象。按值传递对象的主要优点在于可以保护原始数据,但可以通过将引用作为const类型传递,来达到同样的目的。

13.如果head( )是一个常规方法,则ph->head( )将调用Corporation::head( );如果head( )是一个虚函数,则ph->head( )将调用PublicCorporation::head( )。

14.首先,这种情况不符合is-a模型,因此公有继承不适用。其次,House中的area( )定义隐藏了area( )的Kitchen版本,因为这两个方法的特征标不同。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇第14章复习题答案 下一篇第12章复习题答案

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·常用meta整理 | 菜鸟 (2025-12-25 01:21:52)
·SQL HAVING 子句:深 (2025-12-25 01:21:47)
·SQL CREATE INDEX 语 (2025-12-25 01:21:45)
·Shell 传递参数 (2025-12-25 00:50:45)
·Linux echo 命令 - (2025-12-25 00:50:43)