第1篇 入门篇 2
第1章 C++轻松入门(教学视频:49分钟) 2
1.1 C++基础知识 2
1.1.1 面向对象编程 2
1.1.2 C++程序的基本结构 3
1.2 C++开发工具介绍 4
1.2.1 安装Visual C++集成开发环境 4
1.2.2 启动Visual C++编译器 8
1.2.3 Visual C++菜单详解 9
1.2.4 Visual C++的常用工具栏 11
1.2.5 Visual C++应用程序向导 12
1.2.6 程序调试方法 13
1.3 C++程序实例 14
1.3.1 Hello World程序实例 15
1.3.2 创建简单的控制台程序 16
1.4 小结 17
1.5 习题 17
第2章 C++数据类型介绍(教学视频:50分钟) 19
2.1 C++基本数据类型 19
2.1.1 常用的基本数据类型 19
2.1.2 结构体 27
2.1.3 联合体 29
2.2 C++数据的仓库——数组 30
2.2.1 什么是数组 30
2.2.2 初始化数组 32
2.2.3 使用下标表示数据顺序 33
2.2.4 使用二维数组装载数据 36
2.2.5 使用字符数组保存字符串 40
2.3 C++常用运算符 42
2.3.1 算术运算符 42
2.3.2 逻辑运算符 45
2.3.3 C++程序实例 48
2.4 小结 49
2.5 习题 50
第3章 C++程序控制语句(教学视频:75分钟) 51
3.1 C++程序基本结构 51
3.1.1 预处理 51
3.1.2 主函数main 54
3.1.3 输入/输出 56
3.2 循环语句 57
3.2.1 while循环 57
3.2.2 do...while循环 59
3.2.3 for循环 61
3.2.4 嵌套使用循环结构 62
3.3 选择语句 64
3.3.1 if选择结构 64
3.3.2 if...else选择结构 65
3.3.3 switch选择结构 67
3.4 输出控制语句 69
3.4.1 常用输出控制符 69
3.4.2 格式化数据输出实例 73
3.5 小结 75
3.6 习题 75
第4章 指针(教学视频:75分钟) 77
4.1 指针与地址 77
4.1.1 指针与地址的基本概念 77
4.1.2 指针与地址的区别 78
4.2 指针变量 78
4.2.1 定义指针变量 78
4.2.2 初始化指针变量 79
4.2.3 指针与地址之间的转换 80
4.2.4 引用指针变量 80
4.3 数组与指针 81
4.3.1 操作空指针 82
4.3.2 操作一维数组指针 83
4.3.3 操作字符数组指针 86
4.3.4 操作字符串数组指针 90
4.3.5 操作结构体指针 93
4.4 函数与指针 98
4.4.1 数组指针作为函数参数 99
4.4.2 字符串指针作为函数参数 108
4.4.3 函数返回值作为指针类型 111
4.5 指针实例程序 115
4.6 小结 117
4.7 习题 117
第5章 C++功能的实现——函数(教学视频:47分钟) 118
5.1 函数的基本概念 118
5.2 如何自定义函数 118
5.2.1 函数声明 119
5.2.2 函数实现 120
5.3 函数之间的参数传递及返回值 123
5.3.1 函数形参 123
5.3.2 函数实参 124
5.3.3 函数返回值 124
5.3.4 在函数之间传递参数实例 125
5.4 函数调用 126
5.4.1 函数的调用方式 126
5.4.2 函数的嵌套调用 127
5.4.3 递归函数 129
5.4.4 函数的作用域 130
5.5 内联函数 131
5.5.1 定义内联函数 131
5.5.2 调用内联函数 132
5.6 小结 134
5.7 习题 135
第6章 预处理机制(教学视频:47分钟) 136
6.1 常用宏介绍 136
6.1.1 定义宏define 136
6.1.2 标识符定义宏typedef 138
6.2 宏定义 140
6.2.1 具有参数的宏定义 140
6.2.2 无参数的宏定义 142
6.3 包含相关文件 144
6.3.1 包含头文件 144
6.3.2 链接库文件 145
6.4 条件预编译格式 153
6.4.1 #ifdef...#else...#endif格式 154
6.4.2 #ifndef...#else...#endif格式 156
6.4.3 #if...#else...#endif格式 157
6.5 实例程序分析 159
6.6 小结 163
6.7 习题 163
第2篇 提高篇 166
第7章 类(教学视频:56分钟) 166
7.1 C++新特性 166
7.1.1 封装 166
7.1.2 抽象 168
7.1.3 继承 169
7.1.4 多态 173
7.2 C++类成员 176
7.2.1 成员变量 176
7.2.2 对象初始化 178
7.2.3 复制对象(拷贝构造函数) 185
7.2.4 this指针 187
7.2.5 自定义类实例 188
7.3 创建类的指针实例对象 192
7.3.1 创建类指针对象 192
7.3.2 访问对象成员 192
7.3.3 删除类指针对象 193
7.3.4 对象的生存周期 193
7.3.5 指针对象实例程序 194
7.4 C++类的成员函数 195
7.4.1 定义成员函数原型 196
7.4.2 实现成员函数功能 196
7.5 小结 198
7.6 习题 199
第8章 封装(教学视频:42分钟) 200
8.1 封装成员 200
8.1.1 设置成员访问控制 200
8.1.2 数据成员 204
8.1.3 函数声明 206
8.2 访问类中的数据 207
8.2.1 访问类中的私有成员 208
8.2.2 友元函数 210
8.2.3 引用实例对象 212
8.3 C++封装实例 215
8.4 小结 217
8.5 习题 217
第9章 C++功能的延续——继承(教学视频:58分钟) 219
9.1 继承的相关知识点 219
9.1.1 继承的基本概念 219
9.1.2 继承的意义 221
9.1.3 继承的实现 221
9.2 基类和派生类 222
9.2.1 基类 222
9.2.2 派生类 223
9.3 继承方式 224
9.3.1 公共继承方式 224
9.3.2 私有继承方式 225
9.3.3 保护继承方式 226
9.4 初始化数据成员 227
9.4.1 基类和派生类的初始化顺序 227
9.4.2 多重继承中的初始化顺序 228
9.4.3 实例代码分析 230
9.5 创建子类实例对象 232
9.5.1 派生子类 232
9.5.2 指定子类的继承方式 233
9.5.3 创建子类对象 233
9.5.4 删除子类对象 235
9.6 解决继承中的成员函数重名问题 236
9.6.1 成员函数重载 236
9.6.2 成员函数覆盖 237
9.6.3 成员函数隐藏 239
9.7 实例程序分析 241
9.8 小结 243
9.9 习题 243
第10章 虚函数与多态性(教学视频:45分钟) 245
10.1 虚函数 245
10.1.1 静态联编 245
10.1.2 动态联编 247
10.1.3 虚基类 250
10.1.4 虚析构函数 253
10.1.5 虚函数实例程序 255
10.2 抽象类 257
10.2.1 纯虚函数 257
10.2.2 创建抽象类指针对象 258
10.2.3 抽象类派生新类 260
10.2.4 实例分析 262
10.3 多态性 266
10.3.1 继承多态性接口 266
10.3.2 实现多态性接口 267
10.4 小结 269
10.5 习题 269
第11章 运算符重载(教学视频:66分钟) 271
11.1 C++运算符 271
11.1.1 C++常用运算符 271
11.1.2 运算符重载基础 272
11.1.3 运算符重载的优点 272
11.2 运算符重载为成员函数和友元函数 273
11.2.1 运算符重载为成员函数 273
11.2.2 运算符重载为友元函数 276
11.3 单目运算符重载 278
11.3.1 前置单目运算符 278
11.3.2 后置单目运算符 281
11.3.3 运算符小结 284
11.4 双目运算符重载 284
11.4.1 双目运算符重载函数 284
11.4.2 实例分析 285
11.5 赋值运算符重载 286
11.5.1 重载new运算符 286
11.5.2 重载delete运算符 288
11.6 重载运算符++和--实例 289
11.7 小结 290
11.8 习题 291
第12章 C++输入/输出流(教学视频:70分钟) 291
12.1 输入/输出流的使用准备 291
12.1.1 相关头文件 291
12.1.2 输入/输出流类 293
12.2 输入流 296
12.2.1 输入流读取运算符 296
12.2.2 获取输入流 298
12.2.3 实例程序分析 299
12.3 输出流 300
12.3.1 输出流插入运算符 300
12.3.2 使用函数实现流输出 301
12.3.3 实例程序分析 303
12.4 格式化输入/输出流函数 305
12.4.1 简介 305
12.4.2 格式状态标志介绍 305
12.4.3 显示小数点 308
12.4.4 对齐方式 308
12.4.5 设置填充字符 309
12.4.6 设置输出宽度 310
12.4.7 设置和清除格式标志 311
12.5 文件输入/输出流 312
12.5.1 创建文件输入/输出流对象 312
12.5.2 打开文件 314
12.5.3 格式化输出文件 315
12.5.4 格式化输入文件 316
12.5.5 文件输入/输出流实例分析 317
12.6 实例程序分析 319
12.7 小结 320
12.8 习题 321
第13章 程序运行时的异常处理(教学视频:42分钟) 322
13.1 异常处理机制基础 322
13.1.1 异常处理机制 322
13.1.2 使用C++异常处理结构 323
13.1.3 简单实例程序 323
13.2 异常处理步骤 325
13.2.1 发现异常 325
13.2.2 抛出异常 326
13.2.3 捕获异常 326
13.2.4 多次处理异常 326
13.3 实例程序分析 327
13.4 小结 328
13.5 习题 329
第14章 C++数据库基础(教学视频:55分钟) 330
14.1 数据库的基础知识 330
14.1.1 使用ODBC开发数据库 330
14.1.2 使用ADO开发数据库 331
14.1.3 数据库相关操作小结 331
14.2 使用ODBC开发数据库的操作方法 331
14.2.1 创建数据库 331
14.2.2 配置ODBC数据源 336
14.2.3 与ODBC相关的C++类 338
14.2.4 ODBC小结 340
14.3 使用ADO开发数据库的操作方法 341
14.3.1 添加ADO控件 341
14.3.2 导入ADO的动态链接库 343
14.3.3 初始化ADO控件环境 343
14.3.4 连接数据库 346
14.3.5 操作数据库 346
14.3.6 ADO数据库开发实例 350
14.4 小结 355
14.5 习题 355
第3篇 综合实例篇 358
第15章 教学管理系统的C++实现(教学视频:67分钟) 358
15.1 项目概述 358
15.1.1 概述 358
15.1.2 实例中的相关类 358
15.1.3 实例程序的相关功能 359
15.2 自定义类 360
15.2.1 学生类 360
15.2.2 教师类 360
15.2.3 课程类 361
15.2.4 文件管理类 361
15.2.5 自定义类的继承关系 362
15.3 实现自定义类 363
15.3.1 新建C++头文件和实现文件 363
15.3.2 实现类功能 367
15.4 使用自定义类 376
15.4.1 复制自定义类文件到工程目录 376
15.4.2 包含类的头文件 377
15.4.3 创建类实例对象 378
15.4.4 调用对象成员完成相应功能 379
15.5 制作个性化系统界面 379
15.5.1 Visual C++控件简介 379
15.5.2 制作个性化的系统界面 379
15.6 在控件消息响应函数中使用自定义类功能 385
15.6.1 为控件添加消息响应函数 385
15.6.2 为界面中的控件关联变量名 386
15.6.3 在消息响应函数中调用类成员 387
15.7 使用文件保存数据 391
15.7.1 创建文件实例对象 391
15.7.2 打开文件 391
15.7.3 格式化读取文件 392
15.7.4 格式化写入文件 393
15.7.5 关闭文件 394
15.7.6 实例程序 395
15.8 小结 400
15.9 习题 401