第1章 C++编程准备 1
1.1 教授主讲 1
1.2 实战演练 5
1.2.1 第一次尝试 5
1.2.2 C++程序的组成部分 5
1.2.3 C++单词 8
1.2.4 运行C++程序 9
1.3 学以致用 10
1.3.1 经验借鉴 10
1.3.2 自我理解的开端 11
1.4 课后自测 12
第2章 数据类型和表达式 13
2.1 教授主讲 13
2.1.1 C++基本的数据类型 13
2.1.2 常量和变量 14
2.1.3 运算符 18
2.1.4 表达式 24
2.1.5 类型转换 28
2.2 实战演练 31
2.3 学以致用 32
2.4 课后自测 32
第3章 循环和选择 33
3.1 教授主讲 33
3.1.1 关系运算符与逻辑运算符 33
3.1.2 循环 34
3.1.3 选择 37
3.1.4 其他控制语句 42
3.1.5 预处理 44
3.1.6 条件编译 47
3.2 实战演练 50
3.3 学以致用 52
3.4 课后自测 52
第4章 函数 53
4.1 教授主讲 53
4.1.1 函数声明 54
4.1.2 函数调用 56
4.1.3 函数的参数 60
4.1.4 函数重载 61
4.1.5 函数的嵌套调用和递归调用 64
4.1.6 内联函数 67
4.1.7 函数的作用域 69
4.1.8 C++的库函数 74
4.2 实战演练 76
4.3 学以致用 79
4.4 课后自测 79
第5章 对象和类 81
5.1 教授主讲 81
5.1.1 从现实中抽象 81
5.1.2 类的三大特性 82
5.1.3 定义类 82
5.1.4 类的使用 88
5.1.5 类的构造函数 89
5.1.6 拷贝构造函数与赋值函数 94
5.1.7 类的析构函数 97
5.1.8 对象的作用 97
5.1.9 类与结构 99
5.2 实战演练 100
5.3 学以致用 102
5.4 课后自测 103
第6章 数组和字符串 105
6.1 教授主讲 105
6.1.1 数组使用基础 105
6.1.2 作为类成员数据的数组 115
6.1.3 对象数组 116
6.1.4 C++字符串 118
6.2 实战演练 126
6.3 课后自测 128
第7章 指针 129
7.1 教授主讲 130
7.1.1 指针和地址 130
7.1.2 指针赋值 131
7.1.3 字符指针 133
7.1.4 指针和数组 134
7.1.5 类成员指针 141
7.1.6 对象指针 142
7.1.7 指针和函数 143
7.1.8 this指针 146
7.1.9 带指针的main()函数 147
7.1.10 内存管理:new和delete 148
7.2 实战演练 152
7.3 学以致用 154
7.4 课后自测 154
第8章 派生和继承 155
8.1 教授主讲 155
8.1.1 派生类和基类 156
8.1.2 类的层次性 157
8.1.3 单继承 158
8.1.4 多继承 169
8.2 实战演练 176
8.3 学以致用 180
8.4 课后自测 181
第9章 虚函数和友元 185
9.1 教授主讲 185
9.1.1 虚函数 185
9.1.2 抽象类 198
9.1.3 友元 200
9.1.4 引用 208
9.2 实战演练 214
9.3 课后自测 216
第10章 运算符重载 219
10.1 教授主讲 219
10.1.1 重载运算符 219
10.1.2 运算符作为成员函数 224
10.1.3 一些特殊运算符的重载 228
10.1.4 数据转换 234
10.2 实战演练 240
10.3 学以致用 244
10.4 课后自测 244
第11章 I/O流和输出 245
11.1 教授主讲 245
11.1.1 标准I/O 245
11.1.2 文件I/O 260
11.1.3 串I/O 270
11.2 实战演练 272
11.3 学以致用 274
11.4 课后自测 274
第12章 模板和异常 275
12.1 教授主讲 275
12.1.1 模板基础 275
12.1.2 模板分类 277
12.1.3 类模板 278
12.1.4 异常的概念 281
12.1.5 异常处理的实现 282
12.1.6 标准异常 286
12.1.7 异常程序设计规则 287
12.1.8 小结 288
12.2 实战演练 288
12.3 课后自测 294
第13章 集成开发实例 295
13.1 以一个简单的小游戏开始 295
13.2 和电脑对战五子棋 299
13.2.1 主函数流程分析 299
13.2.2 每个类的分析 304
13.3 推荐书目 315
附录A 部分习题解答 317
附录B 综合上机测试 329