第1章 C语言回顾 1
1.1 指针和数组 1
1.1.1 指针 1
1.1.2 数组 7
1.2 函数 10
1.2.1 函数定义与调用 10
1.2.2 值传递和指针传递 13
1.2.3 返回值和指针传递 14
1.2.4 函数声明(原型) 14
1.3 const限定修饰符 15
1.3.1 const型变量 15
1.3.2 间接const型指针和参数 16
1.3.3 const型指针 17
1.3.4 全const型指针 17
1.4 字符串 18
1.4.1 字符串常量和字符串赋值 18
1.4.2 字符串基本操作函数声明 20
1.5 条件编译命令和文件包含命令 21
1.5.1 条件编译命令 21
1.5.2 文件包含命令 22
1.5.3 应用举例 23
习题 25
第2章 C顺序表 26
2.1 顺序表 26
2.2 顺序表基本运算的实现 28
2.3 删除顺序表重复数据 32
2.4 数据抽象和准封装 33
习题 35
第3章 C单向链表 36
3.1 单向链表 36
3.2 单向链表基本运算的实现 38
3.3 逆置 42
习题 44
第4章 C结构串 45
4.1 String结构 45
4.2 String结构基本运算的实现 47
4.2.1 准构造函数和准析构函数 47
4.2.2 转换赋值 48
4.2.3 复制赋值 49
4.2.4 串连接 49
4.2.5 子串插入 50
4.2.6 子串删除 52
4.2.7 求子串 54
4.2.8 其他 55
4.3 模式匹配 56
习题 58
第5章 从C到C+的基本内容 59
5.1 C语言本身的问题 59
5.2 变量和类型 61
5.3 输入/输出 63
5.4 内联函数 65
5.5 运算符重载 66
5.6 函数重载 67
5.7 引用型 69
5.7.1 概念的由来 69
5.7.2 引用型的定义和使用 71
5.8 提取符和插入符重载 74
5.9 默认参数 75
5.10 new和delete运算符 76
习题 76
第6章 从顺序表到顺序表类 78
6.1 顺序表和顺序表类 78
6.2 顺序表类基本运算的实现 82
6.3 增加的成员函数 82
6.3.1 复制构造函数 83
6.3.2 复制赋值运算符重载 83
6.3.3 下标运算符重载 85
6.4 构造函数与初始化 85
6.5 new和delete运算符与构造和析构 86
6.6 类定义 86
习题 87
第7章 从String结构到String类 88
7.1 String类的声明 88
7.2 String类成员函数的实现 90
7.2.1 构造和析构 90
7.2.2 成员赋值运算符 92
7.2.3 成员转换 94
7.2.4 串连接 95
7.2.5 关系运算 98
7.2.6 求子串 98
7.2.7 子串插入 99
7.2.8 子串删除 100
7.2.9 下标运算符 100
7.2.10 字符查找 102
7.2.11 输入/输出 102
7.3 深入讨论 104
7.3.1 转换赋值运算符函数的替代 104
7.3.2 成员函数“类串+C串”的替代 104
7.3.3 explicit修饰符 105
习题 106
第8章 Date类 107
8.1 Date类的声明 107
8.2 Data类基本运算的实现 110
8.3 深入讨论 113
8.3.1 转换赋值成员函数的替代 113
8.3.2 静态数据成员和静态函数成员 113
习题 115
第9章 继承和动态绑定 116
9.1 参数初始化表 116
9.2 继承和受保护成员 118
9.2.1 继承 118
9.2.2 受保护成员 120
9.3 多态性和虚函数 120
9.4 虚析构函数 123
9.5 纯虚函数和抽象类 124
习题 126
第10章 函数模板和类模板 128
10.1 函数模板 128
10.2 顺序表类模板 130
10.3 向量类模板Vector 132
10.3.1 Vector定义 132
10.3.2 通用算法和迭代器 135
10.3.3 Vector的插入和删除函数 138
10.3.4 求素数 139
10.4 函数对象 140
10.5 深入讨论——函数模板实例化中的问题 141
习题 142
第11章 链表类模板和适配器 144
11.1 链表类模板List 144
11.2 适配器 151
习题 152
第12章 C+的I/O流库 153
12.1 格式化输入/输出 154
12.1.1 设置流的格式化标志 154
12.1.2 格式化输出函数 155
12.1.3 操作算子 156
12.2 文件使用方式 158
12.3 字符读写函数 159
12.4 字符串读写函数 160
12.5 无格式读写函数 160
12.6 随机访问 162
12.7 文件错误处理 163
习题 163
第13章 C+综合设计实例 164
13.1 中缀表达式求值 164
13.2 事件驱动模拟 168
习题 175
第14章 命名空间 176
14.1 命名空间的定义 176
14.2 using namespace语句 177
14.3 命名空间的成员 178
14.4 命名空间的别名 179
习题 180
参考文献 181