C++ primer plus 第六版 第十三章 复习题答案

第十三章 复习题答案

1.

基类的公有成员成为派生类的公有成员。基类的保护成员成为派生类的保护成员。基类的私有成员被基础,但不能直接访问。

2.

派生类不能继承构造函数,析构函数,赋值运算符和友元。

3.

若返回类型为void,则只能单个赋值,不能连续赋值。
若返回对象,则速度减慢,因为返回语句需要复制对象。

4.

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

5.

需要,每个类都必须要有自己的构造函数,可以为空。

6.

只调用派生类。只有在派生类没有重新定义方法或使用作用域解析运算符时,才调用基类方法。然而,应该将要重新定义的函数声明为虚函数。

7.

当派生类构造函数使用new或new[ ]运算符来初始化类的指针成员,即当默认赋值不正确时,应该重新定义赋值运算符。

8.

可以将派生类对象的地址赋给基类指针;显式转换情况下,才可以将基类对象的地址赋给派生类指针,然而不一定安全。

9.

类似8。

10.

C++允许基类引用指向从该基类派生而来的任何类型。

11.

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

12.

按引用传递对象,可以确保函数从虚函数受益。按引用传递可以节省内存和时间,尤其对于大型对象。按值传递对象的主要优点在于可以保护原始数据。

13.

a.基类的head( )函数
b.派生类的head( )函数

14.

不符合is-a关系,不能使用公有继承。

你可能感兴趣的:(C++,课后练习)