第一章 预备知识
- C++的背景
- 创建C++程序的一些基本原则
1.1 C++简介
C++融合的编程方式:
1. C语言代表的面向过程的编程方式**(函数)**
2. C++在C语言基础上添加的类代表的面向对象语言**(类)**
3. C++模板支持的泛型编程**(模板)**
1.2 C++简史
1.2.1 C语言编程原理
原则一:处理数据和算法两个概念(数据——程序使用和处理的信息;算法——程序使用的方法)
- 面向过程编程:确定计算机应该采取的操作,然后使用编程语言来实现这些操作。
- 结构化编程:将分支(决定接下来执行哪个指令)限制为一小组行为良好的结构(for循环、while循环、do while循环和 if else语句)
原则二:自顶向下的设计
将大程序分解成小型、便于管理的任务
1.2.2 面向对象编程(OOP)
OOP理念:设计与问题提得本质特性相对应的数据格式,即类。
在C++中,类是一种规范(将数据和方法合并为类定义),对象是根据这种规范构造的特定数据结构。类规定了可使用哪些数据来表示对象以及可以对这些数据执行哪些操作。
- OOP编程:
- 将数据和方法合并为类定义
- 有助于创建可重用的代码
- 信息隐藏(private)可以保护数据,使其免遭不适当的访问
- 多态能为运算符和函数创建多个定义
- 继承能够使用旧类派生出新类
1.2.3 C++和泛型编程
泛型:创建独立于类型的代码(模板,template T),可以只编写一个泛型(即不是特定类型的)函数,并将其用于各种实际类型
1.3 可移植性和标准
可移植的:在不修改代码的情况下,重新编译程序后,程序将运行良好,则该程序是可移植的
障碍:1. 硬件;2. 语言差异
1.4 程序创建的技巧(高级程序语言——机器语言——可执行程序)
- 编写源代码
- 编译源代码——将源代码翻译为主机使用的内部语言(机器语言),翻译后的程序的文件就是程序的目标代码
- 将目标代码与其他代码链接起来(C++通常使用库)。链接指的是将目标代码同使用的函数的目标代码以及一些标准的启动代码组合起来,生成程序的运行阶段版本。包含该最终产品的文件被称为可执行代码
1.4.1 创建源代码文件
1.4.2 编译和链接
- UNIX:命令CC调用cfront(将C++翻译成C)
- Linux:g++
- Windows:IDE
- Maxintosh:Xcode(Apple)