21xrx.com
2024-12-22 19:02:21 Sunday
登录
文章检索 我的文章 写文章
《C++面向对象程序设计第二版》第五章课后答案
2023-07-04 22:27:00 深夜i     --     --
C++ 面向对象 程序设计 第二版 第五章

《C++面向对象程序设计第二版》是一本经典的编程教材,其第五章是关于继承和派生的重要内容。在该章节中,作者提供了许多课后练习,以下是该章节的答案:

1. 什么是继承?

答:继承是一种面向对象编程的重要概念,它允许我们创建一个新的类(称为派生类),以便从一个现有的类(称为基类或父类)继承所有或部分成员。

2. 在继承中,什么是派生类?

答:派生类是从一个基类中派生出来的新类。

3. 继承可以使代码重用性更高,请问为什么?

答:继承可以使代码重用性更高,因为它允许我们在不重复编写相同代码的情况下,扩展和定制已有的类。

4. 请列举派生类的特点。

答:派生类的特点包括:

(1)继承了基类的特性;

(2)可以新增成员函数和数据成员;

(3)可以重新定义继承的成员函数(称为函数重载);

(4)可以访问基类的公有成员和受保护成员;

(5)可以隐藏基类的成员(称为函数隐藏)。

5. 在继承中,什么是访问控制?

答:访问控制指的是控制程序中不同类型的对象如何访问各自的成员。在C++中,访问控制有三种形式:公有、私有和受保护。

6. 请列举C++中的三种访问控制类型,并给出其含义。

答:C++中的三种访问控制类型分别是:公有(public)、私有(private)和受保护(protected)。

(1)公有成员可以被任何对象访问;

(2)私有成员只能被同一类的成员函数和友元函数访问;

(3)受保护成员可以被同一类的成员函数、友元函数和其派生类的成员函数访问。

7. 在继承中,如何使用父类的构造函数?请举个例子。

答:在派生类的构造函数中,可以使用下面的语法来调用父类的构造函数:


class Derived : public Base

{

public:

  Derived(int a, int b, int c) : Base(a, b), m_c(c) {}

  //...

private:

  int m_c;

};

其中,`Base(a, b)`是调用基类的构造函数。

8. 请问虚函数有什么特点?

答:虚函数是一种基类成员函数,它的特点包括:

(1)虚函数可以在派生类中被重新定义(覆盖、替换);

(2)虚函数可以被用于多态(polymorphism);

(3)虚函数在运行时进行动态绑定(dynamic binding)。

9. 在继承中,什么是多重继承?

答:多重继承是一种继承方式,它允许一个派生类从两个或更多的基类中继承成员。

10. 在多重继承中,派生类如何访问基类的成员?

答:在多重继承中,派生类可以使用基类名名称限定符(base class name qualifier)来访问基类的成员。例如:


class Derived : public Base1, public Base2

{

public:

  void print()

  {

    Base1::print(); // 调用Base1的print函数

    Base2::print(); // 调用Base2的print函数

  }

};

通过以上内容的学习和理解,我们可以更好地掌握C++面向对象程序设计中的继承和派生的知识,进而编写出更加高效和稳定的程序。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复