第1篇 C++数据表达篇 19
第1章 C++入门(教学视频:31分钟) 19
1.1 C++概述 19
1.1.1 C++的历史沿革 19
1.1.2 C++与面向对象 19
1.1.3从C到C++ 20
1.2程序设计方法 21
1.2.1结构化程序设计 21
1.2.2面向对象程序设计 22
1.2.3程序设计方法比较 22
1.3 C++开发环境——Visual C++6.0 23
1.3.1工作区 23
1.3.2编辑区(Editor Area) 24
1.3.3输出窗口(Output Panel) 24
1.3.4菜单栏、工具栏、状态栏 25
1.4第一个C++程序——Hello World 25
1.4.1创建源程序 25
1.4.2编译连接 27
1.4.3调试运行 27
1.5 C++源程序组成元素 28
1.5.1基本组成 28
1.5.2基本符号 29
1.5.3标识符 29
1.5.4保留字 29
1.5.5分隔符 30
1.6小结 30
1.7习题 30
第2章 变量和数据类型(教学视频:32分钟) 33
2.1常量 33
2.1.1声明常量 33
2.1.2常量的应用 34
2.2变量 36
2.2.1声明变量 36
2.2.2变量的命名规则 36
2.2.3变量的作用范围 37
2.2.4变量的应用 38
2.3基本数据类型 39
2.3.1整型 40
2.3.2字符型 41
2.3.3浮点型 42
2.3.4布尔型 43
2.4类型转换 44
2.4.1隐式转换 44
2.4.2显式转换 45
2.5小结 46
2.6习题 46
第3章 运算符和表达式(教学视频:34分钟) 48
3.1运算符 48
3.1.1算术运算符 48
3.1.2赋值运算符 50
3.1.3关系运算符 51
3.1.4逻辑运算符 51
3.1.5条件运算符 52
3.1.6逗号运算符 53
3.1.7位运算符 53
3.1.8 sizeof运算符 54
3.1.9运算符的优先级 54
3.2表达式 55
3.2.1算术表达式 56
3.2.2关系表达式 56
3.2.3逻辑表达式 57
3.2.4条件表达式 58
3.2.5赋值表达式 59
3.2.6逗号表达式 59
3.3语句 60
3.3.1语句中的空格 60
3.3.2空语句 61
3.3.3声明语句 61
3.3.4赋值语句 62
3.4小结 62
3.5习题 62
第4章 程序控制结构(教学视频:32分钟) 65
4.1顺序结构 65
4.1.1表达式语句 65
4.1.2输入语句 66
4.1.3输出语句 66
4.1.4格式控制符 67
4.1.5应用示例 70
4.2选择结构 71
4.2.1 if语句 71
4.2.2 if…else语句 72
4.2.3多重if…else语句 73
4.2.4 switch语句 5
4.2.5应用示例 77
4.3循环结构 78
4.3.1 for语句 78
4.3.2 while语句 79
4.3.3 do…while语句 80
4.3.4多重循环 81
4.3.5应用示例 82
4.4转向语句 83
4.5小结 84
4.6习题 85
第2篇 C++面向过程设计篇 88
第5章 函数(教学视频:36分钟) 88
5.1定义函数 88
5.1.1函数概述 88
5.1.2定义函数 89
5.1.3应用示例 90
5.2函数参数及原型 91
5.2.1函数的参数及返回值 91
5.2.2函数原型 92
5.2.3 main()函数 92
5.2.4带参数的main()函数 94
5.3调用函数 95
5.3.1函数调用格式 95
5.3.2传值调用 96
5.3.3引用调用 97
5.3.4嵌套调用 98
5.3.5递归调用 98
5.3.6带默认形参值的函数 100
5.4变量的作用域 100
5.4.1局部变量 101
5.4.2全局变量 102
5.5函数的作用域 103
5.6函数重载 104
5.6.1函数的重载 105
5.6.2参数类型不同的函数重载 105
5.6.3参数个数上不同的重载函数 106
5.7小结 107
5.8习题 107
第6章 编译预处理(教学视频:37分钟) 110
6.1预处理命令 110
6.2宏 110
6.2.1宏概述 110
6.2.2不带参数的宏定义 111
6.2.3取消宏 112
6.2.4宏嵌套 114
6.2.5带参数的宏定义 114
6.2.6内联函数 118
6.2.7宏与函数的区别 118
6.3文件包含 120
6.3.1 #include命令 120
6.3.2合理使用文件包含 120
6.4条件编译 122
6.4.1 #ifdef形式 122
6.4.2 #ifndef形式 123
6.4.3 #if形式 123
6.5其他命令 124
6.5.1 #error命令 124
6.5.2 #line命令 125
6.6小结 125
6.7习题 126
第7章 数组(教学视频:35分钟) 128
7.1声明数组 128
7.1.1声明一维数组 128
7.1.2声明多维数组 129
7.2引用数组 130
7.2.1引用一维数组 130
7.2.2引用多维数组 131
7.3数组的赋值 132
7.3.1初始化数组 133
7.3.2通过赋值表达式赋值 134
7.3.3通过输入语句赋值 135
7.3.4通过循环语句赋值 136
7.3.5多维数组的赋值 137
7.4字符串 138
7.4.1传统字符串 138
7.4.2字符数组 140
7.5数组与函数 141
7.6数组应用 143
7.6.1顺序查找 143
7.6.2折半查找 144
7.6.3排序 146
7.7小结 149
7.8习题 150
第8章 指针(教学视频:33分钟) 152
8.1指针概述 152
8.1.1指针是什么 152
8.1.2定义指针 153
8.1.3指针的初始化 153
8.2指针的运算 155
8.2.1取地址与取值运算 155
8.2.2指针的算术运算 156
8.2.3指针的关系运算 158
8.2.4指针的赋值运算 159
8.2.5 void指针和const指针 159
8.3指针与数组 161
8.3.1访问数组元素的方法 161
8.3.2多维数组元素的访问 163
8.3.3数组指针与指针数组 164
8.4指针与函数 165
8.4.1指针作为函数参数 165
8.4.2指针型函数 167
8.4.3函数指针 168
8.5指针与字符串 169
8.6二级指针 170
8.7小结 171
8.8习题 172
第9章 构造数据类型(教学视频:34分钟) 175
9.1结构体 175
9.1.1结构体概述 175
9.1.2结构体类型说明 176
9.1.3定义结构体类型变量 177
9.1.4初始化结构体变量 178
9.1.5引用结构体成员变量 180
9.1.6结构体作为函数参数 182
9.2共用体 183
9.2.1共用体类型说明 183
9.2.2定义共用体类型变量 184
9.2.3引用共用体成员变量 184
9.3枚举 186
9.3.1定义枚举类型 186
9.3.2定义枚举类型变量 188
9.3.3引用枚举类型变量 189
9.4类型重定义typedef 190
9.5位域 192
9.5.1定义位域变量 192
9.5.2使用位域 193
9.6小结 194
9.7习题 195
第3篇 C++面向对象编程篇 198
第10章 类和对象(教学视频:35分钟) 198
10.1类 198
10.1.1什么是类 198
10.1.2结构到类 199
10.1.3类的声明 201
10.1.4类的访问控制 202
10.1.5类的定义 204
10.2对象 206
10.2.1对象概述 206
10.2.2对象数组 207
10.3构造函数 209
10.3.1构造函数的概念 209
10.3.2构造函数的声明和定义 209
10.3.3构造函数的调用 211
10.3.4不带参数的构造函数 211
10.3.5带有默认参数的构造函数 212
10.3.6构造函数的重载 213
10.4拷贝构造函数 215
10.4.1定义拷贝构造函数 215
10.4.2调用拷贝构造函数 216
10.4.3默认拷贝构造函数 218
10.5析构函数 219
10.6友元 220
10.6.1友元函数 220
10.6.2友元成员 222
10.6.3友元类 223
10.7小结 225
10.8 习题 225
第11章 继承(教学视频:38分钟) 229
11.1继承与派生 229
11.1.1继承与派生概述 229
11.1.2声明派生类 230
11.2访问控制 230
11.2.1公有继承 231
11.2.2私有派生 233
11.2.3保护继承 234
11.3派生类的构造函数和析构函数 238
11.3.1执行顺序和构建原则 238
11.3.2派生类的构造函数 238
11.3.3派生类析构函数的构建 239
11.4多重继承 241
11.4.1二义性问题 241
11.4.2声明多重继承 243
11.4.3多重继承的构造函数和析构函数 245
11.5虚基类 247
11.5.1虚基类的引入 247
11.5.2定义虚基类 248
11.5.3虚基类的构造函数和初始化 250
11.6小结 251
11.7习题 251
第12章 多态(教学视频:34分钟) 256
12.1多态 256
12.1.1什么是多态 256
12.1.2多态的作用 257
12.1.3多态的引入 257
12.2函数重载 259
12.3虚函数 260
12.3.1虚函数的引入 260
12.3.2定义虚函数 262
12.3.3使用虚函数 263
12.3.4多重继承和虚函数 264
12.3.5虚函数的注意事项 266
12.4抽象类 2166
12.4.1纯虚函数 266
12.4.2抽象类 268
12.5小结 269
12.6习题 270
第13章 运算符重载(教学视频:31分钟) 273
13.1运算符重载简介 273
13.1.1运算符重载的定义 273
13.1.2运算符重载的特点 274
13.1.3运算符重载的规则 275
13.2运算符重载的形式 276
13.2.1重载为类的成员函数 276
13.2.2双目运算符重载为成员函数 276
13.2.3单目运算符重载为成员函数 277
13.2.4运算符重载为类的友元函数 279
13.2.5双目运算符重载为友元函数 279
13.2.6单目运算符重载为友元函数 280
13.2.7成员运算符函数与友元运算符函数的比较 282
13.3特殊运算符的重载 282
13.3.1“++”和“--”的重载 282
13.3.2赋值运算符“=”的重载 283
13.3.3下标运算符“[]”的重载 285
13.4类类型转换 287
13.5小结 289
13.6习题 289
第14章 输入/输出流(教学视频:34分钟) 292
14.1输入/输出流的引入 292
14.1.1 printf与scanf的缺陷 292
14.1.2输入/输出流简介 293
14.1.3输入/输出流类层次 294
14.2标准输入/输出流 295
14.2.1标准输出流对象 295
14.2.2标准输入流对象 296
14.2.3标准错误输出流对象 297
14.3输入/输出流成员函数 298
14.3.1 get()函数:输出字符串 298
14.3.2 getline()函数:获取字符串 300
14.4输入/输出的格式控制 300
14.4.1用ios类的成员函数进行格式控制 301
14.4.2使用格式控制符进行格式控制 303
14.5用户自定义数据类型的输入/输出 305
14.5.1重载输出运算符“﹤” 305
14.5.2重载输入运算符“﹥﹥” 306
14.6小结 308
14.7习题 308
第4篇 C++高级特性篇 311
第15章 文件(教学视频:28分钟) 311
15.1文件和流 311
15.1.1文件概述 311
15.1.2文件流类 312
15.2文件的打开与关闭 313
15.2.1打开文件 313
15.2.2关闭文件 315
15.3文件的顺序读写 316
15.3.1读写文本文件 316
15.3.2文本文件应用示例 317
15.3.3二进制文件概述 319
15.3.4读写二进制文件 319
15.4文件的随机读写 322
15.5小结 324
15.6习题 324
第16章 命名空间(教学视频:34分钟) 327
16.1命名空间 327
16.1.1什么是命名空间 327
16.1.2定义命名空间 328
16.2使用命名空间 330
16.2.1使用作用域运算符引用成员 330
16.2.2使用using指令 331
16.2.3使用using声明 332
16.2.4 using指令与using声明的比较 333
16.3类的作用域 333
16.3.1静态数据成员 334
16.3.2静态成员函数 335
16.4作用域 336
16.4.1局部作用域 336
16.4.2全局作用域 338
16.4.3作用域嵌套 339
16.5 this指针 340
16.6小结 342
16.7习题 342
第17章 引用与内存管理(教学视频:31分钟) 345
17.1引用 345
17.1.1引用概述 345
17.1.2引用的使用 346
17.2引用的操作 347
17.2.1引用作为函数参数 347
17.2.2引用作为返回值 348
17.3动态内存分配 349
17.3.1申请动态内存 349
17.3.2释放空间 351
17.3.3 malloc和llee库函数 352
17.4 const引用 354
17.5指针与引用的区别 355
17.6小结 356
17.7习题 357
第5篇 C++编程实践篇 359
第18章 标准模板库STL(教学视频:30分钟) 359
18.1标准模板库 359
18.1.1 STL概述 359
18.1.2 STL的引入 359
18.1.3 STL的组成 360
18.2算法 361
18.3容器 363
18.3.1什么是容器 363
18.3.2向量 363
18.3.3列表 365
18.3.4集合 367
18.3.5双端队列 368
18.3.6栈 369
18.3.7映射和多重映射 371
18.4迭代器 372
18.5小结 373
18.6习题 373
第19章 模板与C++标准库(教学视频:33分钟) 376
19.1模板概述 376
19.1.1模板简介 376
19.1.2模板的引入 377
19.2函数模板 378
19.2.1定义函数模板 378
19.2.2生成模板函数 379
19.2.3函数模板的异常处理 380
19.3类模板 381
19.3.1定义类模板 381
19.3.2模板类 382