第1章 预备知识
1.1 学习C++
1.2 C++简史
1.2.1 C语言
1.2.2 C语言编程原理
1.2.3 面向对象编程
1.2.4 通用编程
1.2.5 C++
1.3 可移植性和标准
1.4 程序创建的技巧
1.4.1 创建源代码
1.4.2 编译和链接
1.5 本书约定
1.6 我们的系统
第2章 开始学习C++
2.1 进入C++
2.1.1 main()函数
2.1.2 C++注释
2.1.3 C++预处理器和iostream文件
2.1.4 头文件名
2.1.5 名称空间
2.1.6 使用cout进行C++输出
2.1.7 C++源代码的格式
2.2 有关C++语句的其他知识
2.2.1 声明语句和变量
2.2.2 赋值语句
2.2.3 cout的新花样
2.3 其他C++语句
2.3.1 使用cin
2.3.2 再谈cout
2.3.3 类简介
2.4 函数
2.4.1 使用有返回值的函数
2.4.2 函数变体
2.4.3 用户定义的函数
2.4.4 用户定义的有返回值的函数
2.4.5 语句小结
2.5 总结
2.6 复习题
2.7 编程练习
第3章 处理数据
3.1 简单变量
3.1.1 变量名
3.1.2 整型
3.1.3 short、int和long
3.1.4 无符号类型
3.1.5 应使用哪种类型
3.1.6 整型常量
3.1.7 C++如何确定常量的类型
3.1.8 char类型:字符和小整数
3.1.9 新的bool类型
3.2 const限定符
3.3 浮点数
3.3.1 书写浮点数
3.3.2 浮点类型
3.3.3 浮点常量
3.3.4 浮点数的优缺点
3.4 C++算术操作符
3.4.1 什么顺序:操作符优先级和结合性
3.4.2 除法分支
3.4.3 求模操作符
3.4.4 类型转换
3.5 总结
3.6 复习题
3.7 编程练习
第4章 复合类型
4.1 数组
4.2 字符串
4.2.1 字符串拼接
4.2.2 在数组中使用字符串
4.2.3 字符串输入
4.2.4 混合输入字符串和数字
4.3 结构
4.3.1 程序说明
4.3.2 其他结构属性
4.3.3 结构数组
4.3.4 位字段
4.4 共用体
4.5 枚举
4.5.1 设置枚举量的值
4.5.2 枚举的取值范围
4.6 指针和自由存储空间
4.6.1 声明和初始化指针
4.6.2 指针和数字
4.6.3 使用new来分配内存
4.6.4 使用delete来释放内存
4.6.5 使用new来创建动态数组
4.7 指针、数组和指针算术
4.7.1 指针和字符串
4.7.2 使用new创建动态结构
4.7.3 自动存储、静态存储和动态存储
4.7.4 自动变量
4.8 总结
4.9 复习题
4.10 编程练习
第5章 循环和关系表达式
5.1 for循环
5.1.1 for循环的组成部分
5.1.2 回到for循环
5.1.3 修改步长
5.1.4 使用for循环访问字符串
5.1.5 递增操作符(++)和递减操作符(——)
5.1.6 组合赋值操作符
5.1.7 复合语句(语句块)
5.1.8 逗号操作符(或其他句法技巧)
5.2 关系表达式
5.2.1 可能犯的错误
5.2.2 字符串比较
5.3 while循环
5.3.1 for与while
5.3.2 等待一段时间
5.4 do while循环
5.5 循环和文本输入
5.5.1 使用原始的cin进行输入
5.5.2 使用cin.get(char)进行补救
5.5.3 使用哪一个cin.get()
5.5.4 文件尾条件
5.5.5 另一个cin.get()
5.6 嵌套循环和二维数组
5.6.1 初始化二维数组
5.7 总结
5.8 复习题
5.9 编程练习
第6章 分支语句和逻辑操作符
6.1 if语句
6.1.1 if else语句
6.1.2 格式化if else语句
6.1.3 if else if else结构
6.2 逻辑表达式
6.2.1 逻辑OR操作符:||
6.2.2 逻辑AND操作符:&&
6.2.3 逻辑NOT操作符:!
6.2.4 逻辑操作符细节
6.3 cctype字符函数库
6.4 ?: 操作符
6.5 switch语句
6.5.1 将枚举量用作标签
6.5.2 switch和if else
6.6 break和continue语句
6.7 读取数字的循环
6.8 总结
6.9 复习题
6.10 编程练习
第7章 函数——C++的编程模块
7.1 复习有关函数的基本知识
7.1.1 定义函数
7.1.2 函数原型和函数调用
7.2 函数参数和按值传递
7.2.1 多个参数
7.2.2 另外一个接受两个参数的函数
7.3 函数和数组
7.3.1 函数如何使用指针来处理数组
7.3.2 将数组作为参数意味着什么
7.3.3 其他数组函数范例
7.3.4 使用数组区间的函数
7.3.5 指针和const
7.4 函数和二维数组
7.5 函数和C-风格字符串
7.5.1 返回字符串的函数
7.6 函数和结构
7.6.1 传递和返回结构
7.6.2 另一个范例
7.6.3 传递结构的地址
7.7 递归
7.8 函数指针
7.8.1 函数指针的基础知识
7.9 总结
7.10 复习题
7.11 编程练习
第8章 函数探幽
8.1 内联函数
8.2 引用变量
8.2.1 创建引用变量
8.2.2 将引用用作函数参数
8.2.3 引用的属性和特别的地方
8.2.4 将引用用于结构
8.3 默认参数
8.4 函数重载(多态)
8.4.1 重载范例
8.4.2 何时使用函数重载
8.5 函数模板
8.5.1 重载的模板
8.5.2 显式具体化
8.5.3 实例化和具体化
8.5.4 使用哪一个函数
8.6 总结
8.7 复习题
8.8 编程练习
第9章 内存模型和名称空间
9.1 单独编译
9.2 存储持续、作用域和链接性
9.2.1 作用域和链接
9.2.2 自动存储持续
9.2.3 静态持续变量
9.2.4 说明符和限定符
9.2.5 函数和链接性
9.2.6 语言链接
9.2.7 存储方案和动态分配
9.3 名称空间
9.3.1 传统的C++名称空间
9.3.2 新的名称空间特性
9.3.3 名称空间范例
9.3.4 名称空间及其前途
9.4 总结
9.5 复习题
9.6 编程练习
第10章 对象和类
10.1 过程性编程和面向对象编程
10.2 抽象和类
10.2.1 类型是什么
10.2.2 类
10.2.3 实现类成员函数
10.2.4 使用类
10.2.5 小结
10.3 类的构造函数和析构函数
10.3.1 声明和定义构造函数
10.3.2 使用构造函数
10.3.3 默认构造函数
10.3.4 析构函数
10.3.5 改进Stock类
10.3.6 构造函数和析构函数小结
10.4 this指针
10.5 对象数组
10.6 类作用域
10.6.1 作用域为整个类的常量
10.7 抽象数据类型
10.8 总结
10.9 复习题
10.10 编程练习
第11章 使用类
11.1 操作符重载
11.2 计算时间
11.2.1 添加加法操作符
11.2.2 重载限制
11.2.3 其他重载操作符
11.3 友元
11.3.1 创建友元
11.3.2 常用的友元:重载