内容简介
第一篇 基础
第1章 走进程序设计
1.1 程序与程序设计
1.1.1 程序
1.1.2 程序设计
1.2 程序设计四要素
1.2.1 方法
1.2.2 语言
1.2.3 环境
1.2.4 应用
1.2.5 程序设计四要素的关系
1.3 程序设计的思维特征
1.4 程序设计的基本学习策略及其C++映射
1.5 本章小结
第2章 数据组织基础
2.1 数据类型
2.2 单个数据的组织
2.3 堆叠、关联与绑定
2.3.1 堆叠
2.3.2 关联
2.3.3 绑定
2.4 数据组织中的计算思维
2.5 常用基本数据组织形态
2.5.1 线性数据组织
2.5.2 层次数据组织
2.5.3 网状数据组织
2.5.4 C++语言常用基本数据组织方法及其描述
2.6 本章小结
第3章 数据处理基础
3.1 表达式
3.2 基本语句
3.2.1 基本处理语句
3.2.2 流程控制语句
3.3 堆叠与嵌套
3.4 数据处理中的计算思维
3.4.1 表达式嵌套
3.4.2 语句堆叠与嵌套
3.5 常用基本数据处理方法
3.6 本章小结
第二篇 方法
第4章 程序设计方法概述
4.1 方法与模型
4.2 程序构造方法的认识视图
4.3 程序构造方法建立的基本原理
4.4 两种主流的程序设计方法及其思维联系
4.4.1 面向功能方法概述
4.4.2 面向对象方法概述
4.4.3 两者的思维联系
4.5 程序构造方法的进一步认识
4.5.1 数据组织与数据处理的关系
4.5.2 程序构造方法的计算思维特征
4.5.3 C++语言对数据组织和数据处理的统一
4.6 本章小结
第5章 面向功能方法:函数
5.1 基本功能模块的构造机制及其描述
5.1.1 基本功能模块构造机制的抽象
5.1.2 C++语言对基本功能模块构造机制的支持及描述
5.2 常用基本数据处理方法的C++语言函数定义及解析
5.3 基本功能模块构造机制对数据组织方法应用的具体规则
5.3.1 基本功能模块构造机制中数据组织方法的应用规则
5.3.2 C++语言对基本功能模块中数据组织方法的拓展
5.4 C++语言对基本功能模块表达模型的进一步拓展
5.4.1 空返回值
5.4.2 空函数与无参函数
5.4.3 默认参数与可变参数
5.4.4 多重返回
5.4.5 系统库函数
5.5 本章小结
第6章 面向功能方法:函数关系
6.1 函数之间的耦合
6.1.1 函数之间交互关系的实现机制
6.1.2 函数的调用
6.1.3 函数的返回
6.1.4 C++语言中函数调用与返回的描述
6.2 函数的一种特殊耦合关系——递归
6.3 C++语言对函数耦合关系的拓展
6.3.1 表达式参数与表达式返回
6.3.2 函数重载
6.3.3 函数模板
6.3.4 高阶函数
6.4 C++语言中面向功能方法的程序基本结构
6.4.1 多文件结构概述
6.4.2 编译预处理
6.5 深入认识面向功能方法
6.5.1 模型化方法的建立
6.5.2 存在的弊端
6.5.3 多维思维特征
6.6 本章小结
第7章 面向对象方法:对象
7.1 概述
7.1.1 数据类型的重要性
7.1.2 运用面向功能方法拓展新的数据类型——抽象数据类型(对象)
7.1.3 C++语言对抽象数据类型的支持机制及其拓展
7.2 数据类型拓展后带来的问题及其处理
7.2.1 实例的构造和销毁
7.2.2 默认构造函数与复制构造函数
7.2.3 初始化参数列表
7.2.4 同一种对象多个实例之间的数据共享
7.2.5 实例访问与this指针
7.2.6 如何实现新类型的基本运算
7.2.7 如何解决类型不一致问题
7.2.8 如何实现新类型的输入和输出(可流类)
7.3 让对象生活在面向功能方法时代
7.3.1 基于抽象数据类型的数据组织方法
7.3.2 基于抽象数据类型的数据处理方法
7.3.3 支持抽象数据类型的面向功能方法的程序构造
7.4 深入认识数据类型
7.5 本章小结
第8章 面向对象方法:对象关系
8.1 对象关系概述
8.2 对象嵌套关系
8.2.1 对象嵌套时的实例构造与析构
8.2.2 宿主对象的使用
8.3 同族对象之间的关系
8.3.1 继承(或普通遗传)
8.3.2 多态(或遗传变异)
8.3.3 C++语言对继承和多态的拓展
8.3.4 对同族关系的进一步认识
8.4 抽象数据类型的进一步抽象与拓展
8.4.1 类模板
8.4.2 类模板特化
8.4.3 类模板与继承
8.4.4 泛型编程
8.5 C++语言中面向对象方法的程序基本结构
8.6 深入认识面向对象的方法
8.7 本章小结
第9章 共享、安全与性能
9.1 共享
9.1.1 函数内的共享
9.1.2 抽象数据类型内的共享
9.1.3 单文件程序内的共享
9.1.4 多文件程序内的共享
9.1.5 共享带来的问题
9.2 安全
9.2.1 引用
9.2.2 const限定
9.2.3 异常控制
9.2.4 动态类型检查
9.3 性能
9.3.1 inline函数
9.3.2 类的友元
9.3.3 类数据成员的mutable限定
9.3.4 临时变量
9.3.5 初始化参数列表
9.4 对共享、安全与性能的综合认识
9.5 本章小结
第三篇 应用
第10章 程序设计应用概述
10.1 什么是应用
10.2 应用的思维特征及其C++映射
10.2.1 应用的思维特征
10.2.2 应用思维特征的C++映射
10.3 学习应用的基本策略
10.4 本章小结
第11章 I/O流
11.1 什么是I/O流
11.2 C++I/O流机制的实现概述
11.3 C++标准I/O流
11.3.1 标准输入流类型及其使用
11.3.2 标准输出流类型及其使用
11.3.3 对标准I/O流的深入认识
11.4 标准I/O流的状态管理和格式控制
11.5 文件I/O流
11.5.1 操作系统文件处理的一般原理
11.5.2 如何创建文件输入流对象实例
11.5.3 如何创建文件输出流对象实例
11.5.4 如何关闭文件I/O流
11.5.5 如何访问文件
11.5.6 文件流应用示例及解析
11.6 对I/O流的深入认识
11.6.1 I/O流概念的认知层次
11.6.2 I/O流概念的通用性
11.6.3 I/O流机制的安全性
11.6.4 I/O流概念的递归性
11.6.5 I/O流的模板化(模板化I/O流)
11.6.6 标准I/O流体系的可扩展性
11.7 本章小结
第12章 字符串
12.1 字符串的传统处理方法
12.1.1 通过字符数组处理符号串
12.1.2 通过字符型指针处理符号串
12.1.3 传统处理方法存在的问题
12.2 自己构建字符串数据类型String
12.3 C++标准库的字符串数据类型string
12.4 字符串流
12.5 进一步认识字符串
12.6 本章小结
第13章 异常
13.1 什么是异常
13.2 如何处理异常
13.3 C++异常处理机制
13.3.1 异常处理框架及其描述
13.3.2 C++异常机制使用的基本规则
13.3.3 异常处理时的对象实例析构
13.4 深入认识异常
13.5 本章小结
第14章 标准模板库及其应用
14.1 泛型程序设计及其思维本质
14.1.1 泛型程序设计
14.1.2 泛型程序设计的思维本质
14.2 C++标准模板库STL
14.2.1 STL的基本原理及其体系结构
14.2.2 对类型通用化的处理
14.2.3 实例解析
14.2.4 STL的基本应用
14.2.5 深入认识STL
14.3 本章小结
第15章 基于框架的程序设计
15.1 基于框架的程序设计基本思维
15.2 MFC框架的基本原理
15.2.1 Windows操作系统定义的基本程序模型
15.2.2 MFC对Windows基本程序模型的包装
15.2.3 MFC与Visual C++的关系
15.3 MFC框架的基本应用
15.3.1 MFC框架编程概述
15.3.2 MFC框架编程的基本步骤
15.3.3 应用示例及解析
15.3.4 从Visual C++到Visual Studio
15.4 深入认识基于框架的程序设计
15.4.1 框架式程序设计方法的必要性
15.4.2 MFC框架的高级应用
15.5 本章小结
第16章 应用模式及其建构
16.1 基本应用模式及其建构
16.1.1 基本惯用法及其建构
16.1.2 数据组织结构中的基本应用模式及其建构
16.1.3 数据处理算法中的基本应用模式及其建构
16.2 设计模式及其建构
16.2.1 MVC模式及其建构
16.2.2 工厂方法模式及其建构
16.2.3 适配器模式及其建构
16.3 模式及其建构应用中的计算思维
16.4 本章小结
第17章 广谱隐式应用
17.1 什么是广谱隐式应用
17.2 广谱隐式应用的核心与关键
17.3 应用示例
17.4 深入认识广谱隐式应用
17.5 本章小结
第18章 应用之道
18.1 应用的进化之道
18.2 应用的思维之道
18.3 应用之大道
18.4 本章小结
附录A ASCII字符集
附录B C++语言定义的运算符
附录C 标准库cstring的函数定义(基于面向功能方法的字符串处理函数)
附录D 标准库string类的定义
附录E 典型风格MFC程序描述
附录F MFC程序去框架特征的回归
附录G C++开发环境简介
附录H 程序设计之计算思维准则
参考文献