谭浩强C++面向对象实例:继承与多态源码解析

需积分: 9 5 下载量 132 浏览量 更新于2024-09-30 2 收藏 20KB DOCX 举报
《C++面向对象程序设计答案》-第五章-谭浩强的经典实例源代码主要探讨了C++中的面向对象编程概念,特别是关于继承和多态的实践应用。该章节提供了两个具体的例子来深入理解这两个关键特性。 第一个示例展示了继承的概念。在这个例子中,`Student`类是一个基类,它定义了公共方法`get_value()`用于获取学生的基本信息(如学号、姓名和性别),以及`display()`方法用于显示这些信息。接着,`Student1`类是`Student`的派生类,使用`public`关键字表明继承方式为公有继承。`Student1`类添加了新的成员变量`age`和`addr`,以及相应的方法`get_value_1()`和`display_1()`。在`display_1()`方法中,可以看到派生类可以访问并引用基类`Student`的私有成员,体现了继承允许子类访问父类的属性和行为。 第二个示例中,`Student1`类使用了`private`关键字进行继承,这意味着它只能访问基类`Student`的私有成员,而不能公开访问。尽管这样,`get_value_1()`和`display_1()`方法依然能够调用基类的`get_value()`和`display()`,因为它们是公共方法,但试图直接访问`num`、`name`和`sex`会编译错误,说明了继承的访问控制机制。 这两个实例让读者了解了如何创建类的继承结构,以及不同继承访问权限对代码的影响,这对于理解和实现面向对象程序设计至关重要。通过实际操作,学习者能够掌握如何构造类的层次结构,以及如何在子类中扩展和重写基类的功能,从而实现多态性。同时,这也展示了C++中封装和继承这两个面向对象编程的核心原则在实际代码中的应用。