《C++自学视频教程》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:软件开发技术联盟编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2014
  • ISBN:9787302371021
  • 页数:498 页
图书介绍:本书从初学者的角度出发,以通俗易懂的语言,配合丰富的实例,详细讲解了C++语言的基础知识。本书包括4篇18章:第1篇是基础知识,包括了绪论,数据类型,表达式与语句,条件判断语句,循环语句,函数,数组、指针和引用,构造数据类型;第2篇是核心技术,包括了面向对象编程、类和对象、继承与派生;第3篇是高级应用,包括了模板、STL标准模板库、RTTI与异常处理、程序调测、文件操作、网络通信等。

第1篇 入门篇 2

第1章 初识C++ 2

1.1 C++的历史背景 3

1.1.1 计算机的问世 3

1.1.2 C++发展历程 3

1.1.3 C++中的杰出人物 4

1.2 C++语言特点 5

1.3 Visual Studio 2010集成编译环境 6

1.3.1 安装Visual Studio 2010 6

1.3.2 卸载Visual Studio 2010 11

1.3.3 使用Visual Studio 2010创建一个C++控制台程序 12

1.3.4 编写第一个C++程序“Hello World!” 15

1.4 本书代码使用指南 16

1.5 本章小结 16

第2章 认识C++程序 17

2.1 我的第一个C++程序 18

2.1.1 创建第一个C++程序 18

2.1.2 C++程序的基本组成 20

2.2 C++的常用概念 21

2.2.1 预处理命令 21

2.2.2 注释 21

2.2.3 main函数 22

2.2.4 函数体 22

2.2.5 函数返回值 22

2.3 初步了解函数 22

2.3.1 一个简单的函数 22

2.3.2 函数的传参 24

2.3.3 函数的返回值、参数与变量 25

2.3.4 函数的声明和定义 26

2.3.5 变量 29

2.4 C++语言基本要素 30

2.4.1 解读标识符 31

2.4.2 关键字 31

2.4.3 定义和使用常量 32

2.4.4 变量的应用 32

2.5 C++代码编写规范 33

2.5.1 代码写规范的好处 33

2.5.2 如何将代码写规范 34

2.6 综合应用 34

2.7 本章常见错误 35

2.8 本章小结 35

2.9 跟我上机 35

第3章 变量和数据类型 37

3.1 常量 38

3.1.1 整型常量 38

3.1.2 实型常量 38

3.1.3 字符常量 39

3.1.4 字符串常量 40

3.1.5 其他常量 41

3.2 变量 41

3.2.1 标识符 41

3.2.2 变量与变量说明 42

3.2.3 整型变量 42

3.2.4 实型变量 43

3.2.5 变量赋值 43

3.2.6 变量赋初值 44

3.2.7 字符变量 44

3.3 常用数据类型 45

3.3.1 定义数值类型 46

3.3.2 字符类型 47

3.3.3 布尔类型 47

3.4 输入与输出数据 48

3.4.1 通过printf格式输出数据 48

3.4.2 利用scanf格式输入数据 51

3.4.3 标准I/O流 54

3.4.4 控制输入/输出格式 56

3.5 综合应用 60

3.5.1 计算贷款支付额 60

3.5.2 计算函数值 61

3.6 本章常见错误 62

3.7 本章小结 62

3.8 跟我上机 63

第4章 运算符与表达式 64

4.1 C++中的运算符 65

4.1.1 算术运算符 65

4.1.2 关系运算符 66

4.1.3 逻辑运算符 67

4.1.4 赋值运算符 68

4.1.5 位运算符 69

4.1.6 移位运算符 70

4.1.7 sizeof运算符 73

4.1.8 条件运算符 73

4.1.9 逗号运算符 74

4.2 结合性和优先级 74

4.3 表达式 75

4.3.1 算术表达式 76

4.3.2 关系表达式 76

4.3.3 条件表达式 76

4.3.4 赋值表达式 76

4.3.5 逻辑表达式 77

4.3.6 逗号表达式 77

4.3.7 表达式中的类型转换 78

4.4 语句概述 81

4.5 判断左值与右值 82

4.6 综合应用 83

4.6.1 计算三角形周长 83

4.6.2 计算三角形的边长 83

4.7 本章常见错误 84

4.7.1 注意=和== 84

4.7.2 不要混淆strlen和sizeof 84

4.7.3 对浮点数求余 84

4.8 本章小结 84

4.9 跟我上机 85

第5章 条件判断语句 86

5.1 决策分支 87

5.2 判断语句 87

5.2.1 第一种形式的判断语句——if语句 87

5.2.2 第二种形式的判断语句——if-else语句 89

5.2.3 第三种形式的判断语句——多次判断语句 91

5.3 使用条件运算符进行判断 93

5.4 switch判断语句 94

5.5 判断语句的嵌套 99

5.6 综合应用 101

5.6.1 图书的位置 101

5.6.2 计算增加后的工资 102

5.7 本章常见错误 103

5.7.1 注意case后不要跟变量 103

5.7.2 if else的匹配问题 104

5.7.3 if判断表达式的比较问题 104

5.8 本章小结 104

5.9 跟我上机 104

第6章 循环控制语句 106

6.1 while循环 107

6.2 do…while循环 109

6.3 while和do…while比较 110

6.4 for循环 112

6.5 循环控制 115

6.5.1 控制循环的变量 116

6.5.2 break语句 117

6.5.3 continue语句 118

6.5.4 goto语句 119

6.6 循环嵌套 120

6.7 综合应用 122

6.7.1 阿姆斯壮数 122

6.7.2 巴斯卡三角形 123

6.7.3 输出闰年 124

6.8 本章常见错误 126

6.8.1 break和continue语句的区别 126

6.8.2 goto的问题 126

6.9 本章小结 126

6.10 跟我上机 127

第7章 封装函数使程序模块化 128

7.1 函数概述 129

7.1.1 定义函数 129

7.1.2 声明和使用函数 129

7.2 函数的参数 130

7.2.1 形参与实参 130

7.2.2 设置默认值 131

7.3 从函数中返回 132

7.3.1 函数返回值 132

7.3.2 了解空函数 133

7.4 递归调用函数 133

7.5 重载函数的使用 137

7.6 生存周期与作用域 139

7.6.1 变量的作用域 139

7.6.2 变量的生存周期 140

7.6.3 变量的储存方式 141

7.7 名称空间 145

7.8 综合应用 147

7.8.1 等差数列求和 147

7.8.2 提款机的记录 148

7.9 本章常见错误 149

7.9.1 函数中返回的数组地址无效 149

7.9.2 声明函数时不要忘记加分号 149

7.9.3 尽量不要用using namespace std 149

7.10 本章小结 150

7.11 跟我上机 150

第8章 C++中的指针 152

8.1 指针概述 153

8.1.1 保存变量地址 153

8.1.2 指针的运算 157

8.1.3 指向空的指针与空类型指针 159

8.1.4 指向常量的指针与指针常量 160

8.2 指针在函数中的应用 162

8.2.1 传递地址 162

8.2.2 指向函数入口地址 163

8.2.3 空指针调用函数 164

8.2.4 从函数中返回指针 165

8.3 安全使用指针 167

8.3.1 内存分配 167

8.3.2 内存安全 169

8.4 综合应用 172

8.4.1 水桶的平衡 172

8.4.2 分步计算 173

8.4.3 显示数组元素 173

8.5 本章常见错误 174

8.5.1 文字常量区不可修改 174

8.5.2 重复释放内存,错误提示“Debug Assertion Failed!” 175

8.5.3 释放空间以后,记得给指针赋空 175

8.5.4 (*p)-输出的不是想要的值 175

8.6 本章小结 176

8.7 跟我上机 176

第9章 C++中的引用 177

9.1 引用概述 178

9.1.1 引用的概念 178

9.1.2 引用就是别名常量 179

9.1.3 右值引用 180

9.2 引用在函数中的应用 181

9.2.1 引用作为函数的形参 181

9.2.2 指针与引用 182

9.2.3 右值引用传递参数 184

9.3 综合应用 185

9.4 本章常见错误 186

9.4.1 指针和引用分别应该什么时候用 186

9.4.2 在哪里创建,就在哪里释放指针 186

9.4.3 指针和引用混合使用 186

9.4.4 指针的特殊写法 187

9.5 本章小结 187

9.6 跟我上机 187

第10章 使用数组获取连续空间 188

10.1 一维数组 189

10.1.1 声明一维数组 189

10.1.2 一维数组的元素 189

10.1.3 初始化一维数组 190

10.2 二维数组 191

10.2.1 声明二维数组 191

10.2.2 引用二维数组元素 192

10.2.3 初始化二维数组 193

10.3 字符数组 195

10.3.1 声明一个字符串数组 195

10.3.2 字符串数组赋值 195

10.3.3 字符数组的一些说明 195

10.3.4 越界引用 196

10.3.5 字符串处理函数 198

10.4 指针与数组 203

10.4.1 存储数组元素 203

10.4.2 保存一维数组首地址 203

10.4.3 保存二维数组首地址 205

10.4.4 指针与字符数组 210

10.4.5 数组作函数参数 212

10.4.6 动态分配数组 214

10.5 字符串类型 215

10.5.1 使用本地字符串类型string 215

10.5.2 连接string字符串 216

10.5.3 比较string字符串 217

10.5.4 定义string类型数组 218

10.6 综合应用 219

10.6.1 名字排序 219

10.6.2 查找数字 220

10.6.3 求平均身高 221

10.7 本章常见错误 222

10.7.1 不能对数组名直接赋值 222

10.7.2 sizeof(a)和sizeof(a+1) 223

10.7.3 注意区分数组指针和指针数组 223

10.8 本章小结 223

10.9 跟我上机 224

第2篇 提高篇 226

第11章 面向对象编程 226

11.1 面向对象的编程思想 227

11.1.1 面向过程 228

11.1.2 面向对象 228

11.1.3 面向对象编程的特点 229

11.2 类与对象 229

11.2.1 声明与定义类 230

11.2.2 在源文件中包含头文件 231

11.2.3 实现一个类 231

11.2.4 实例化一个对象 236

11.2.5 访问类成员 236

11.3 类的构造与析构 239

11.3.1 构造函数概述 239

11.3.2 利用构造函数初始化成员变量 239

11.3.3 析构一个类 242

11.4 定义静态成员 244

11.5 通过指针操作对象 247

11.6 隐含的this指针 248

11.7 复制对象 250

11.8 声明const对象 252

11.9 申请对象数组 254

11.10 C++中的友元 257

11.10.1 友元机制 257

11.10.2 定义友元类 259

11.11 重载运算符 260

11.11.1 重载算术运算符 260

11.11.2 重载比较运算符 262

11.12 综合应用 263

11.12.1 用户与留言 263

11.12.2 挑选硬盘 265

11.13 本章常见错误 266

11.13.1 声明类时提示编译错误 266

11.13.2 对比const与#define 267

11.13.3 new和delete要配对使用 267

11.14 本章小结 267

11.15 跟我上机 267

第12章 从基类到派生类 269

12.1 类的继承 270

12.1.1 定义派生类 270

12.1.2 访问类成员 272

12.1.3 类的派生方式 273

12.1.4 父类和子类的构造顺序 276

12.1.5 子类显示调用父类构造函数 277

12.1.6 子类隐藏父类的成员函数 279

12.1.7 嵌套定义多个类 282

12.2 多重继承 284

12.2.1 声明多重继承的派生类 284

12.2.2 注意避免二义性 285

12.2.3 多重继承的构造顺序 286

12.3 C++的多态性 288

12.3.1 虚函数概述 288

12.3.2 动态绑定 288

12.3.3 虚继承机制 290

12.4 抽象类介绍 292

12.4.1 创建纯虚函数 292

12.4.2 实现抽象类中的成员函数 293

12.5 综合应用 295

12.5.1 学生类的设计 295

12.5.2 等边多边形 296

12.5.3 教师职位信息 298

12.6 本章常见错误 299

12.6.1 静态成员函数不能访问普通成员变量 299

12.6.2 类初始化时不能直接给数组名赋值 299

12.6.3 派生后的访问权限总结 300

12.7 本章小结 300

12.8 跟我上机 300

第13章 C++模板的使用 303

13.1 函数模板 304

13.1.1 定义函数模板 304

13.1.2 使用函数模板 305

13.1.3 重载函数模板 307

13.2 类模板 308

13.2.1 定义类模板 308

13.2.2 执行时指定参数 310

13.2.3 设置默认模板参数 311

13.2.4 为具体类型的参数提供默认值 312

13.2.5 越界检测 313

13.3 模板的使用方法 315

13.3.1 定制类模板 315

13.3.2 定制类模板成员函数 317

13.3.3 部分定制模板 318

13.4 链表类模板 319

13.4.1 建立单向链表 320

13.4.2 链表类模板的使用 322

13.4.3 类模板的静态数据成员 324

13.5 综合应用 326

13.5.1 除法函数模板 326

13.5.2 取得数据间最大值 327

13.5.3 不同类型数组管理 328

13.6 本章常见错误 330

13.6.1 函数模板与类模板的区别 330

13.6.2 成员函数在类外实现时不要带默认值 330

13.6.3 函数默认顺序从右向左 330

13.7 本章小结 330

13.8 跟我上机 331

第14章 代码整理 332

14.1 结构体概述 333

14.2 重命名数据类型 333

14.3 枚举类型的应用 335

14.4 类型推导 340

14.5 异常处理 341

14.5.1 抛出异常 342

14.5.2 捕获异常 344

14.5.3 异常匹配 347

14.5.4 标准异常 349

14.6 使用宏定义替换复杂的数据 349

14.7 综合应用 353

14.7.1 扑克牌的牌面 353

14.7.2 使用带参数的宏求圆面积 354

14.7.3 综合成绩 355

14.8 本章常见错误 356

14.8.1 注意带参数的宏 356

14.8.2 结构体成员的引用 356

14.8.3 结构体字节对齐问题 356

14.8.4 用指针动态申请结构体内存时失败 357

14.9 本章小结 357

14.10 跟我上机 358

第15章 掌握C++标准模板库 359

15.1 几种常见数据结构 360

15.1.1 简述STL 360

15.1.2 顺序线性结构 360

15.1.3 基本操作 360

15.1.4 栈结构 361

15.1.5 队列结构 361

15.1.6 链表结构 361

15.1.7 图结构 362

15.2 使用容器管理数据 362

15.2.1 对比容器适配器与容器 362

15.2.2 对比迭代器与容器 363

15.2.3 vector容器 364

15.2.4 list容器 367

15.2.5 关联容器 370

15.3 常用算法 372

15.3.1 for each函数 372

15.3.2 fill函数 373

15.3.3 sort函数 374

15.3.4 transform函数 375

15.4 lambda表达式 376

15.5 综合应用 379

15.5.1 迭代输出信息 379

15.5.2 计算平均值 380

15.6 本章常见错误 380

15.6.1 不要直接使用头指针操作链表 380

15.6.2 区分内存中的栈和数据结构中的栈 381

15.6.3 数组和容器的区别 381

15.7 本章小结 381

15.8 跟我上机 381

第16章 利用文件处理数据 383

16.1 文件流概述 384

16.1.1 C++中的流类库 384

16.1.2 使用类库 384

16.1.3 ios类中的枚举常量 385

16.1.4 使用流进行输出 385

16.2 打开文件 386

16.2.1 文件打开方式 386

16.2.2 默认打开模式 387

16.2.3 创建并打开文件 388

16.3 读写文件 389

16.3.1 文件流分类 389

16.3.2 写文本文件 391

16.3.3 读取文本文件 392

16.3.4 二进制文件的读写 393

16.3.5 实现文件复制 394

16.4 移动文件指针 395

16.4.1 文件错误与状态 395

16.4.2 向文件追加写入 396

16.4.3 文件结尾的判断 397

16.4.4 在指定位置读写文件 399

16.5 文件和流的关联和分离 401

16.6 删除文件 402

16.7 综合应用 403

16.7.1 记录类的信息 403

16.7.2 读取文件信息 404

16.8 本章常见错误 405

16.8.1 文件打开要记得关闭 405

16.8.2 peek不能用于ofstream 405

16.8.3 忘记调回指针,读不到内容 405

16.9 本章小结 405

16.10 跟我上机 406

第3篇 实战篇 410

第17章 C++语言游戏开发 410

17.1 模拟ATM机界面程序 411

17.1.1 概述 411

17.1.2 需求分析 411

17.1.3 设计思路 411

17.1.4 详细设计 411

17.1.5 程序代码 415

17.1.6 小结 418

17.2 猜数字游戏 418

17.2.1 概述 418

17.2.2 需求分析 418

17.2.3 系统设计 419

17.2.4 程序预览 419

17.2.5 设计思路 421

17.2.6 文件引用 421

17.2.7 主要功能实现 422

17.2.8 小结 426

17.3 吃豆子游戏 426

17.3.1 PacMan程序框架初步分析 426

17.3.2 碰撞检测的实现 429

17.3.3 地图类的设计 432

17.3.4 数据更新 435

17.3.5 绘图 443

17.3.6 窗口设计 448

17.3.7 小结 455

第18章 人事考勤管理系统(Visual Studio 2010和SQL Server 2008实现) 456

18.1 开发背景 457

18.2 需求分析 457

18.3 系统设计 457

18.3.1 系统目标 457

18.3.2 系统功能结构 458

18.3.3 系统预览 458

18.3.4 业务流程图 458

18.3.5 数据库设计 459

18.4 公共模块设计 461

18.5 主窗体设计 466

18.6 用户登录模块设计 469

18.6.1 用户登录模块概述 469

18.6.2 用户登录技术分析 469

18.6.3 用户登录实现过程 470

18.7 用户管理模块设计 471

18.7.1 用户管理模块概述 471

18.7.2 用户管理技术分析 471

18.7.3 用户管理实现过程 472

18.7.4 单元测试 474

18.8 部门管理模块设计 475

18.8.1 部门管理模块概述 475

18.8.2 部门管理技术分析 475

18.8.3 部门管理实现过程 476

18.9 人员信息管理模块设计 478

18.9.1 人员信息管理模块概述 478

18.9.2 人员信息管理技术分析 479

18.9.3 人员信息管理实现过程 479

18.10 考勤管理模块设计 485

18.10.1 考勤管理模块概述 485

18.10.2 考勤管理技术分析 486

18.10.3 考勤管理实现过程 487

18.11 考勤汇总查询模块设计 492

18.11.1 考勤汇总查询模块概述 492

18.11.2 考勤汇总查询技术分析 492

18.11.3 考勤汇总查询实现过程 493

18.12 开发技巧与难点分析 496

18.12.1 调用动态链接库设计界面 496

18.12.2 主窗口的界面显示 497

18.13 本章小结 498