所有源码及练习题请参考gitee: https://gitee.com/pan-fahui/cpp_primer_plus
或源码请参考github: https://github.com/fa-hui/cpp-primer-plus.git
与C语言不同的是,c++在c语言的基础上添加了面向对象(OOP)和泛型编程的支持,是c语言的超集,而c语言是面向过程的语言。
1. c++简介
1.1 c++融合了三种不同的编程方式
- c语言代表的面向过程性语言
- 在C语言基础上添加的类代表的面向对象语言
- c++模板支持的泛型编程
OOP程序设计方法首先设计类,类的作用是准确表达程序要处理的东西。在实现时,则根据类来创建实例对象,也可创建多个实例对象。
OOP的优点:
- 创建可重用代码,减少大量的工作
- 信息隐藏,可以保护数据
- 多态,可以创建多个定义
- 继承,使用旧类来创建新类
C++真正的优点之一就是:可以方便地重用和修改现有的、经过仔细测试的代码。
1.2 泛型编程(generic programming)
OOP强调的是编程的数据方面,而泛型编程强调的是独立于特定的数据类型。侧重点不同。OOP是一个管理大型项目的工具,而泛型编程提供了执行常见任务的工具。例如,要对不同类型的数据进行排序,通常要为每种类型创建一个排序函数。泛型编程的目的是对语言进行拓展,以便可以只编写一个泛型函数,将其用于各种实际类型。