目录 1
第1章 计算机和C++编程入门 1
课前准备 2
1-1 简介 3
1-2 程序设计过程 3
1-3 一个简单的C++程序 5
课后练习 8
第1章—补充内容 9
第2章 C++基础知识 16
课前准备 17
2-1 简单控制流程:if语句和if...else语句 17
2-2 简单控制流程:while...和do...while循环语句 19
2-3 简单控制流程:由事件控制的while和do...while循环 22
课后练习 解二次方程 23
第2章—补充内容 24
第3章 过程抽象和返回一个值的函数 25
课前准备 26
3-1 预定义函数 27
3-2 强制类型转换 29
3-3 返回一个值的函数:过程抽象 30
3-4 函数重载 33
课后练习 35
第4章 面向子任务的函数 36
课前准备 37
4-1 void函数 38
4-2 返回多个值的函数(传引用调用) 38
4-3 调用另一个函数的函数 40
4-4 一个有若干个函数的程序;函数测试和调试;stub和驱动程序 41
课后练习 44
第5章 I/O流——对象和类入门 45
课前准备 46
5-1 使用程序I/O流来读写文件 46
5-2 流作为函数的参数 49
5-3 读至文件尾、成员函数get和put、成员函数eof 50
5-4 cctype(ctype)中的预定义字符函数 53
课后练习 54
第6章 定义类 57
课前准备 58
6-1 结构 59
6-2 类 61
6-3 构造函数 66
课后练习 有理数类 67
第7章 更多的控制流程 69
课前准备 70
7-1 使用布尔表达式 70
7-2 if...else if...else和switch语句 72
7-3 for语句 75
7-4 块和变量在块中的作用域 76
课后练习 日历程序 77
第8章 友元函数和重载操作符 79
课前准备 80
8-1 友元函数 80
8-2 重载操作符 84
8-3 重载<<和>> 87
8-4 类中类 91
课后练习 使用了重载的有理数类 93
第9章 独立编译和命名空间 94
9-1 独立编译 95
课前准备 95
9-2 命名空间和using预编译指令 99
9-3 将类放到一个命名空间中 101
课后练习 103
第10章 数组 105
课前准备 106
10-1 数组入门 107
10-2 函数中的数组 111
10-3 数组作为类成员 115
10-4 二维数组 117
课后练习 使用了重载的有理数类 118
第10章—补充内容 120
第11章 字符串和向量 121
课前准备 122
11-1 字符串、C字符串函数入门 123
11-2 标准string类 126
11-3 string对象和C字符串之间的转换(示例:文件I/O) 128
11-4 向量 131
课后练习 学生数据库 133
第12章 指针和动态数组 135
课前准备 136
12-1 指针简介 136
12-2 动态数组 140
12-3 析构函数和拷贝构造函数 143
课后练习 145
第13章 递归 146
课前准备 147
13-1 递归入门 147
13-2 用于递归的堆栈 149
13-3 递归和迭代 151
13-4 使用递归执行二叉搜索 152
课后练习 反转一个整数 153
第14章 模板 154
课前准备 155
14-1 函数模板 155
14-2 类模板 160
课后练习 162
第14章—补充内容 162
第15章 字符串和向量 165
课前准备 166
15-1 指针和链表入门 166
15-2 搜索链表 170
15-3 在链表中部插入或删除结点 173
课后练习 176
15-4 使用了链表的堆栈 176
第16章 继承 178
课前准备 179
16-1 继承入 门 179
16-2 继承的使用细节 184
16-3 多态性 186
课后练习 190
第16章—补充内容 190
第17章 异常处理 194
课前准备 195
17-1 C++异常处理基础 195
17-2 定义自己的异常类 198
17-3 在函数中抛出异常 201
17-4 异常处理编程技术 203
课后练习 205