C++面向对象:为何使用继承

需积分: 44 1 下载量 20 浏览量 更新于2024-07-14 收藏 16.97MB PPT 举报
"这篇学习笔记主要探讨了C++中的继承机制,通过实例展示了为何要在编程中使用继承。文章提到了《面向对象程序设计及C++》一书,并概述了C++的发展历程,包括C与C++的关系、C++的创始人比雅尼·斯特劳斯特鲁普的贡献以及C++在不同领域的广泛应用。" 在C++编程中,继承是面向对象程序设计(OOP)的核心概念之一。继承允许我们创建一个新类(子类或派生类),该类可以从已有的类(基类或父类)中继承属性和行为。这样做的主要好处包括代码重用、分类和多态性。 首先,代码重用是继承的关键优点。在标题中提到的例子中,`Person` 和 `Teacher` 类都有共同的数据成员(如 `m_strName`、`m_bGender` 和 `m_iAge`)和成员函数(如 `think()` 和 `work()`)。如果每个类都单独定义这些成员,那么会导致代码重复。通过继承,`Teacher` 类可以直接继承 `Person` 类的属性和方法,避免了冗余代码,提高了代码的可维护性和效率。 其次,分类是另一个重要的概念。继承使得我们可以将相似但又有所区别的对象归类到不同的类层次结构中。在上述例子中,`Teacher` 类可以看作是 `Person` 类的一个特殊版本,添加了特定于教师的属性(如 `m_iSalary`)和行为(可能有额外的成员函数)。这样,我们就可以更具体地描述对象,同时保持通用性的基础结构。 再者,继承支持多态性。多态性是指同一个接口可以有不同的实现,这在处理不同类型的对象时非常有用。例如,`Person` 类的 `work()` 成员函数在 `Teacher` 类中可能有不同的实现。通过继承,我们可以定义一个公共接口,然后在子类中提供个性化的实现。 关于C++的背景,C++是由比雅尼·斯特劳斯特鲁普在1979年开始开发的,最初称为“C with Class”,后来逐渐发展成为C++。1998年,C++正式建立了ANSI/ISO标准,这一版本被称为C++98。随着时间的推移,C++经历了多次更新,增加了泛型编程(如STL和模板元编程)等新特性,使其适应不断变化的软件开发需求。 C++被广泛应用于各个领域,如嵌入式系统、游戏开发、网络编程和系统编程等,其强大的性能和灵活性使其在行业中保持着重要地位。C++的TIOBE指数等排名显示了其持续的流行度和影响力。 继承是C++中实现代码重用、分类和多态性的重要手段,它有助于构建模块化、可扩展的软件系统。了解和掌握继承机制对于深入理解和使用C++至关重要。