第1篇 C++入门 15
第1章 C++概述( 教学视频:49分钟) 15
1.1 C++与C 15
1.1.1 C语言 15
1.1.2 C++ 17
1.1.3 C和C++比较 17
1.2 程序和算法 19
1.2.1 程序 19
1.2.2 算法 19
1.3 程序设计方法 21
1.3.1 面向过程的程序设计 21
1.3.2 面向对象的程序设计 22
1.4 C++编程风格 24
1.5 C++编程的过程 25
1.6 本章小结 25
1.7 习题 26
第2章 C++开发利器大集合(教学视频:31分钟) 27
2.1 Visual C++与集成开发环境 27
2.1.1 Visual C++概述 27
2.1.2 Visual C++6.0集成开发环境介绍 27
2.1.3 设置个性化的开发环境 32
2.1.4 创建一个简单的程序 33
2.2 C++Builder 34
2.2.1 C++Builder IDE(集成开发环境)简介 34
2.2.2 创建一个简单的程序 35
2.3 Linux/UNIX下的C++开发工具 35
2.4 本章小结 36
2.5 习题 36
第3章 C++初次编程(教学视频:39分钟) 37
3.1 初识输入与输出 37
3.2 注释符 38
3.3 控制语句简介 39
3.3.1 if语句 39
3.3.2 for语句 40
3.3.3 while语句 41
3.4 类 42
3.4.1 创建一个简单的类 42
3.4.2 初识成员函数 43
3.5 一个简单的C++程序 45
3.6 本章小结 47
3.7 习题 47
第2篇 C++的利器 48
第4章 C++的数据类型(教学视频:120分钟) 48
4.1 基本内置类型 48
4.1.1 整型 48
4.1.2 浮点型 50
4.2 常量 51
4.2.1 整数类型字面值常量 51
4.2.2 布尔型和字符型字面值常量 51
4.2.3 浮点型字面值常量 51
4.2.4 字符串字面值常量 51
4.3 变量 52
4.3.1 什么是变量 52
4.3.2 变量名的确定 53
4.3.3 变量的声明与定义 53
4.3.4 初始化变量 53
4.4 枚举类型 54
4.5 自定义类型typedef 55
4.6 引用 55
4.7 const限定符 56
4.8 类类型 57
4.9 标准库类型 58
4.9.1 string类型 58
4.9.2 顺序容器类型 60
4.9.3 关联容器类型 62
4.10 标准I/O库类型 64
4.10.1 输入输出流 64
4.10.2 字符串流 65
4.11 本章小结 66
4.12 习题 66
第5章 运算符和表达式(教学视频:64分钟) 67
5.1 算术运算符与算术表达式 67
5.1.1 算术运算符 67
5.1.2 算术表达式 68
5.2 关系运算符与关系表达式 69
5.2.1 关系运算符 69
5.2.2 关系表达式 70
5.3 逻辑运算符与逻辑表达式 70
5.3.1 逻辑运算符 70
5.3.2 逻辑表达式 71
5.4 赋值运算符与赋值表达式 72
5.4.1 赋值运算符 72
5.4.2 赋值表达式 73
5.5 条件运算符与条件表达式 74
5.6 逗号运算符与逗号表达式 74
5.7 自增和自减运算符及其表达式 75
5.8 sizeof运算符 76
5.9 箭头运算符与点运算符 77
5.10 位运算符及其表达式 78
5.11 new和delete表达式 79
5.12 复合表达式 80
5.13 本章小结 82
5.14 习题 82
第6章 分解C++——语句(教学视频:63分钟) 83
6.1 简单语句 83
6.2 声明语句 84
6.3 复合语句 85
6.4 语句的作用域 86
6.5 分支语句 86
6.5.1 条件语句 86
6.5.2 switch语句 91
6.6 循环语句 93
6.6.1 for语句 93
6.6.2 while语句 95
6.6.3 do...while语句 96
6.6.4 嵌套循环语句 97
6.6.5 break语句 98
6.6.6 continue语句 100
6.6.7 goto语句 100
6.6.8 return语句 101
6.7 综合应用 102
6.8 本章小结 108
6.9 习题 108
第7章 数组的使用(教学视频:36分钟) 109
7.1 数组的概念 109
7.2 一维数组 109
7.2.1 一维数组的定义 109
7.2.2 一维数组的初始化 110
7.2.3 一维数组元素的访问 112
7.2.4 字符数组 112
7.3 多维数组 113
7.3.1 多维数组的定义 114
7.3.2 多维数组的初始化 114
7.3.3 多维数组元素的访问 116
7.4 数组的应用 117
7.5 本章小结 125
7.6 习题 125
第8章 灵活的指针(教学视频:79分钟) 126
8.1 什么是指针 126
8.2 指针的定义和初始化 128
8.2.1 指针变量的定义 128
8.2.2 获得地址并对指针变量进行初始化 129
8.2.3 指针变量的使用 130
8.2.4 指针与引用 132
8.3 指针的操作 133
8.4 指向指针的指针 135
8.5 使用指针访问数组元素 136
8.5.1 指向数组元素的指针 136
8.5.2 一维数组与指针 137
8.5.3 多维数组与指针 140
8.6 指针和const限定符 144
8.6.1 指向const对象的指针 144
8.6.2 const指针 145
8.7 指针和字符串 145
8.8 本章小结 146
8.9 习题 146
第9章 函数的使用(教学视频:81分钟) 147
9.1 函数的概念 147
9.2 函数的声明 148
9.3 函数的定义 150
9.3.1 不同函数类型的定义形式 150
9.3.2 函数的返回值 152
9.3.3 函数的形参表 153
9.4 函数的参数传递 154
9.4.1 形式参数与实际参数 154
9.4.2 非引用形参 155
9.4.3 引用形参 155
9.5 函数的调用 158
9.6 函数的嵌套调用 158
9.7 内联函数 159
9.8 变量的存储方式 161
9.9 指针和函数 161
9.9.1 指针参数 161
9.9.2 指针作为返回值 162
9.10 函数的重载 164
9.10.1 重载与作用域 165
9.10.2 默认参数 166
9.10.3 参数类型上不同的重载函数 166
9.10.4 参数个数上不同的重载函数 167
9.11 本章小结 168
9.12 习题 168
第10章 变量的生存范围(教学视频:26分钟) 169
10.1 局部作用域 169
10.2 全局作用域 170
10.3 变量的存储类型 171
10.3.1 自动存储类型 171
10.3.2 静态存储变量 171
10.3.3 寄存器存储类型 172
10.4 定义和使用命名空间 173
10.5 本章小结 176
10.6 习题 176
第11章 让数据到文本中去——文件的操作(教学视频:42分钟) 177
11.1 文件的概述 177
11.2 I/O流的描述 177
11.3 文件的打开模式 178
11.4 打开一个文件 178
11.5 向文件中写入数据 181
11.5.1 文本文件的写入方法 181
11.5.2 二进制文件的写入方法 182
11.5.3 将结构体数据写入到文件 182
11.6 从文件中读出数据 183
11.6.1 get()方法 183
11.6.2 getline()方法 183
11.6.3 rdbuf()方法 184
11.6.4 read()方法 184
11.7 文件指针的定位 185
11.7.1 确定文件指针在文件流中的位置(tellp()和tellg()) 185
11.7.2 移动文件流中指针(seekg()和seekp()) 187
11.8 关闭文件 188
11.9 文件处理的实例 189
11.10 本章小结 192
11.11 习题 192
第12章 预编译(教学视频:28分钟) 193
12.1 宏定义 193
12.1.1 不带参数的宏定义 193
12.1.2 带参数的宏定义 194
12.2 #include文件包含 196
12.3 条件编译 196
12.3.1 什么是条件编译 196
12.3.2 几种常用的条件编译格式 197
12.4 预定义宏 199
12.5 本章小结 200
12.6 习题 200
第13章 字符串的处理(教学视频:44分钟) 201
13.1 string对象的定义和初始化 201
13.2 字符串类的成员函数 202
13.3 字符串处理类的操作符 204
13.4 字符串类中的指针 206
13.5 string类串和C风格串之间的转换 207
13.6 字符串应用实例 208
13.7 本章小结 212
13.8 习题 212
第3篇 C++高级特性 213
第14章 类和对象(教学视频:78分钟) 213
14.1 类 213
14.1.1 类的定义 213
14.1.2 类的struct定义方式 216
14.2 定义一个类的实例——对象 217
14.3 类的构造函数 217
14.3.1 构造函数的定义 217
14.3.2 默认构造函数 219
14.3.3 构造函数的默认实参 220
14.3.4 重载构造函数 221
14.3.5 类类型的隐式转换 224
14.4 类的成员函数 225
14.4.1 成员函数的定义 225
14.4.2 成员函数的调用 226
14.4.3 常成员函数 228
14.4.4 重载成员函数 229
14.5 类中的静态成员 230
14.5.1 静态数据成员 230
14.5.2 静态成员函数 231
14.6 友元 233
14.7 操作符的重载 234
14.8 本章小结 235
14.9 习题 235
第15章 财富的积累——继承(教学视频:46分钟) 236
15.1 继承的概念 236
15.2 定义基类与派生类 236
15.3 继承方式 237
15.3.1 公有继承 237
15.3.2 保护继承 238
15.3.3 私有继承 239
15.4 派生类的构造与析构 240
15.5 组合与继承 241
15.6 赋值兼容原则 243
15.7 多重继承 244
15.7.1 多重继承的结构 244
15.7.2 多重继承中的构造与析构 246
15.8 本章小结 247
15.9 习题 247
第16章 让程序变得更短——模板(教学视频:59分钟) 248
16.1 模板的概念与意义 248
16.2 函数模板 249
16.2.1 函数模板的定义 249
16.2.2 函数模板的用法 250
16.2.3 函数模板的重载 251
16.3 类模板 252
16.3.1 类模板的定义 252
16.3.2 类模板的实例化 254
16.3.3 模板类和类模板 255
16.3.4 类模板的应用 255
16.4 本章小结 261
16.5 习题 261
第17章 代码的工厂——虚拟和多态(教学视频:43分钟) 262
17.1 多态的定义与实现 262
17.1.1 多态的定义 262
17.1.2 多态的实现 264
17.2 虚拟函数的定义与实现 268
17.2.1 虚函数 268
17.2.2 虚拟析构函数 270
17.2.3 避免虚函数的误用 271
17.3 抽象类与纯虚函数 273
17.3.1 纯虚函数 273
17.3.2 抽象类和具体类 274
17.4 本章小结 276
17.5 习题 276
第18章 让系统变得更健康——异常处理(教学视频:62分钟) 277
18.1 异常处理的含义 277
18.2 抛出异常 278
18.3 捕获异常 279
18.4 使用异常 281
18.4.1 何时避免异常 281
18.4.2 异常的典型应用 282
18.4.3 非错误处理 283
18.5 标准异常处理类 284
18.6 本章小结 285
18.7 习题 286
第4篇 综合案例 287
第19章 学生成绩管理系统(教学视频:58分钟) 287
19.1 概要设计 287
19.2 详细设计 287
19.3 代码开发 289
19.3.1 学生类的定义 289
19.3.2 操作类的定义 290
19.3.3 设置学生姓名setname(char na[]) 290
19.3.4 设置学生学号setNo(int n) 291
19.3.5 设置英语成绩setEng(float e) 291
19.3.6 设置语文成绩setChi(float c) 291
19.3.7 设置数学成绩setMat(float m) 291
19.3.8 设置总分settotal(float t) 291
19.3.9 获取姓名getname() 291
19.3.10 获取学号getNo() 291
19.3.11 获取英语成绩getEng() 292
19.3.12 获取语文成绩 getChi() 292
19.3.13 获取数学成绩getMat() 292
19.3.14 获取总分gettotal() 292
19.3.15 输入学生信息getdata() 292
19.3.16 总分排序sort() 293
19.3.17 显示所有学生记录disp() 293
19.3.18 初始化界面initdisp() 294
19.3.19 添加数据记录adddata() 294
19.3.20 按照学号查找记录namefind(int) 295
19.3.21 输入学号inputonename() 296
19.3.22 删除学生记录dele(int num) 296
19.3.23 计算平均分函数 297
19.3.24 返回记录数目getns() 297
19.3.25 退出系统quit() 297
19.3.26 程序主函数main 298
19.4 本章小结 299
第20章 银行自动操作终端系统(教学视频:27分钟) 300
20.1 概要设计 300
20.2 详细设计 300
20.3 代码开发 303
20.3.1 普通用户账户信息类的定义 303
20.3.2 普通用户账户信息类的实现 304
20.3.3 普通用户个人信息类的定义 304
20.3.4 普通用户个人信息类的实现 305
20.3.5 普通用户个人操作信息类的定义 306
20.3.6 普通用户个人操作信息类的实现 306
20.3.7 封装类的定义 307
20.3.8 操作类的定义 309
20.3.9 声明关于输出的函数 309
20.3.10 系统实现主函数 310
20.4 程序效果 316
20.5 本章小结 317