Visual C++ 开发从入门到精通

978-7-115-41868-5
作者: 王东华 李樱
译者:
编辑: 张涛
分类: C++

图书目录:

目录

第 1章 Visual C++ 6.0的**初印象 1

(视频总计26分钟,实例3个,拓展实例6个,技术解惑3个)

1.1 Visual C++ 6.0概述 2

1.1.1 Visual C++ 6.0的特点 2

1.1.2 安装Visual C++ 6.0 2

1.2 Visual C++ 6.0开发环境 5

1.2.1 熟悉集成开发环境 5

1.2.2 菜单项 7

1.2.3 工具栏 16

1.2.4 项目与项目工作区 17

1.2.5 编辑器窗口 18

1.3 利用Visual C++ 6.0编写C++

程序 21

1.4 技术解惑1.4 技术解惑 23

1.4.1 学习C++是否有用 23

1.4.2 解决Windows 7安装Visual

C++ 6.0的兼容性问题 23

1.4.3 怎样学好编程 25

第 2章 C++的基本语法 26

(视频总计32分钟,实例5个,拓展实例10个,技术解惑12个)

2.1 面向对象 27

2.1.1 什么是OOP 27

2.1.2 面向对象编程 27

2.2 分析C++的程序结构 28

2.2.1 从一段代码看C++程序

结构 28

2.2.2 C++的文件组织 29

2.3 必须遵循的编码规范 30

2.3.1 养成良好的习惯 30

2.3.2 必须使用的注释 31

2.4 输入/输出基础 31

2.4.1 标准输入与输出对象 31

2.4.2 一个使用I/O库的程序 32

2.5 标识符 33

2.5.1 C++中的保留字 33

2.5.2 需要遵循的命名规则 34

2.6 数据类型 35

2.6 数据类型2.6.1 数字型 36

2.6.2 逻辑运算型 36

2.6.3 字符型和字符串 37

2.7 变量 38

2.7.1 定义变量 38

2.7.2 声明变量 39

2.7.3 变量的作用域 40

2.8 常量 42

2.8.1 什么是常量 43

2.8.2 常量的分类 43

2.8.3 常量的应用 45

2.9 技 术 解 惑 46

2.9.1 C++标识符的长度 46

2.9.2 字符和字符串的区别 46

2.9.3 C++字符串和C字符串的

转换 46

2.9.4 C++字符串和字符串结束

标志 46

2.9.5 C++中的面向对象、C中的

面向过程的含义 47

2.9.6 面向对象和面向过程的

区别 47

2.9.7 C++中常量的命名 48

2.9.8 在C++程序中如何定义

常量 48

2.9.9 使用关键字const注意

事项 48

2.9.10 关于全局变量的

 初始化,C语言和C++

 是否有区别 48

2.9.11 C/C++变量在内存中的

 分布 49

2.9.12 静态变量的初始化顺序 49

第3章 运算符和表达式 50

(视频总计27分钟,实例3个,拓展实例6个,技术解惑5个)

3.1 运算符 51

3.1.1 赋值运算符 51

3.1.2 算术运算符 52

3.1.3 比较运算符 52

3.1.4 逻辑运算符 53

3.1.5 ++/--运算符 53

3.1.6 位运算符 54

3.1.7 求字节数运算符 55

3.1.8 条件运算符 55

3.1.9 逗号运算符 56

3.2 表达式详解 57

3.2.1 表达式概述 57

3.2.2 类型转换 57

3.3 技术解惑 60

3.3.1 避免运算结果溢出的一个

方案 60

3.3.2 运算符重载的权衡 60

3.3.3 运算符的优先级和结合性 60

3.3.4 C/C++表达式的限制 62

3.3.5 表达式的真正功能 62

第4章 流程控制语句 63

(视频总计36分钟,实例11个,拓展实例22个,技术解惑6个)

4.1 **简单的语句和语句块 64

4.1.1 **简单的语句 64

4.1.2 语句块 64

4.1.3 语句的总结 66

4.2 **常见的顺序结构 67

4.3 选择结构 67

4.3.1 单分支结构语句 68

4.3.2 双分支结构语句 68

4.3.3 多分支结构语句 70

4.4 循环结构 73

4.4.1 for语句 73

4.4.2 while语句 75

4.4.3 do-while语句 77

4.5 跳转语句 78

4.5.1 break语句 78

4.5.2 continue语句 78

4.5.3 goto语句 79

4.6 技术解惑 80

4.6.1 循环中断问题 80

4.6.2 分析循环语句的效率 80

4.6.3 几种循环语句的比较 81

4.6.4 在C++中,for循环该

怎么读 81

4.6.5 一个C++循环结构嵌套的

问题 81

4.6.6 break语句和continue语句

的区别 82

第5章 其他数据类型 83

(视频总计35分钟,实例8个,拓展实例16个,技术解惑9个)

5.1 指针 84

5.1.1 什么是指针 84

5.1.2 定义指针的方式 84

5.1.3 指针的分类 86

5.1.4 指针的初始化 86

5.1.5 指针运算 88

5.1.6 指针的指针 89

5.1.7 使用指针 90

5.1.8 分析指针和引用的关系 92

5.1.9 特殊的指针 92

5.2 数组 93

5.2.1 数组基础 93

5.2.2 动态数组 95

5.2.3 数组存储 95

5.2.4 字符数组 96

5.2.5 数组初始化 96

5.2.6 指针和数组 97

5.2.7 使用数组 98

5.3 枚举 98

5.3.1 枚举基础 99

5.3.2 使用枚举 101

5.4 结构体 102

5.4.1 定义结构体 102

5.4.2 指向结构的指针 102

5.4.3 使用结构体 103

5.5 联合 104

5.6 自定义的型 105

5.6.1 typedef的作用 105

5.6.2 使用typedef 106

5.7 技术解惑 107

5.7.1 指针的命名规范 107

5.7.2 C++中指针和引用的

区别 107

5.7.3 变量在语言中的实质 108

5.7.4 C++开发中如何避免

和解决野指针 109

5.7.5 字符数组和字符串

是否可以相互转换 110

5.7.6 静态数组的速度是否

快于动态数组 110

5.7.7 Arrays与Vector的区别 111

5.7.8 数组名不是指针 111

5.7.9 用户自定义类型所占用

的内存空间 111

第6章 函数 113

(视频总计33分钟,实例6个,拓展实例12个,技术解惑5个)

6.1 函数基础 114

6.1.1 定义函数的方式 114

6.1.2 函数分类 114

6.1.3 函数定义实例 117

6.2 函数的参数 119

6.2.1 形参和实参 119

6.2.2 使用数组作为函数参数 120

6.3 返回值和返回语句 121

6.4 调用函数 121

6.5 函数递归 122

6.6 指向函数的指针 123

6.7 将函数作为参数 124

6.8 变量的作用域和生存期 125

6.8.1 变量作用域 125

6.8.2 静态存储变量和动态

存储变量 126

6.9 技术解惑 129

6.9.1 用typedef定义一个函数

指针类型 129

6.9.2 const关键字在函数中的

作用 130

6.9.3 C++函数的内存分配机制 130

6.9.4 主函数和子函数 131

6.9.5 函数声明和函数定义的

区别 131

第7章 类和封装 132

(视频总计29分钟,实例5个,拓展实例10个,技术解惑3个)

7.1 类 133

7.1.1 声明类 133

7.1.2 类的属性 134

7.1.3 类的方法 134

7.1.4 构造函数 135

7.1.5 析构函数 136

7.1.6 静态成员 137

7.1.7 友元 139

7.1.8 修饰符 140

7.1.9 指向类成员的指针 141

7.1.10 嵌套类 142

7.1.11 类文件的组织 142

7.2 对象 143

7.2.1 定义对象 143

7.2.2 使用对象 143

7.2.3 this指针 144

7.3 技术解惑 144

7.3.1 浅拷贝和深拷贝 144

7.3.2 构造函数的错误认识

和正确认识 145

7.3.3 保护性析构函数的作用 146

第8章 创建MFC应用程序 148

(视频总计31分钟,实例7个,拓展实例14个,技术解惑3个)

8.1 创建应用程序向导 149

8.1.1 MFC应用程序开发流程 149

8.1.2 使用程序向导生成的文件 153

8.2 Class Wizard详解 162

8.2.1 初识Class Wizard 162

8.2.2 添加类 165

8.2.3 添加类成员变量 166

8.2.4 添加消息响应函数 168

8.2.5 覆盖虚拟函数 170

8.3 程序调试 170

8.3.1 查找源程序的语法错误 170

8.3.2 Debug调试 171

8.4 技术解惑 173

8.4.1 Class Wizard不能正常

工作的解决办法 173

8.4.2 如何在调试过程中查看

输出信息 173

8.4.3 MFC中的异常开销问题 174

第9章 对话框 175

(视频总计27分钟,实例7个,拓展实例14个,技术解惑3个)

9.1 对话框的概念 176

9.1.1 基于对话框的应用程序 176

9.1.2 对话框类CDialog 177

9.1.3 对话框数据交换与验证 177

9.2 使用对话框 179

9.2.1 对话框的分类 179

9.2.2 创建对话框 179

9.2.3 编辑对话框 180

9.3 公用对话框 182

9.3.1 类CColorDialog 183

9.3.2 类CFileDialog 184

9.3.3 类CFindReplaceDialog 185

9.3.4 类CFontDialog 186

9.3.5 类CPrintDialog 186

9.4 消息对话框 188

9.5 技术解惑 189

9.5.1 是否可以把一个对话框

的控件复制到另一个

对话框中 189

9.5.2 如何保存编辑框中的

内容 190

9.5.3 解决MFC生成的exe程序

不能在其他计算机上运行

的问题 190

第 10章 控件 192

(视频总计42分钟,实例9个,拓展实例18个,技术解惑3个)

10.1 标准控件 193

10.1.1 Windows标准控件 193

10.1.2 不能发送消息的静态

 控件 194

10.1.3 编辑框控件 196

10.1.4 按钮 200

10.1.5 列表框 203

10.1.6 组合框 208

10.1.7 滚动条 211

10.2 公共控件 213

10.2.1 标签控件与属性表 213

10.2.2 图像列表 215

10.2.3 列表视图控件 216

10.2.4 树视图控件 217

10.3 技术解惑 223

10.3.1 如何绘制按钮 223

10.3.2 MFC控件消息 223

10.3.3 显示或隐藏控件 224

第 11章 文档和视图 225

(视频总计36分钟,实例12个,拓展实例24个,技术解惑3个)

11.1 剖析文档与视图结构 226

11.1.1 文档与视图结构 226

11.1.2 文档与视图之间的关系 226

11.1.3 多文档 227

11.1.4 创建单文档应用程序 228

11.2 设计菜单 229

11.2.1 建立菜单资源 229

11.2.2 添加菜单命令处理函数 229

11.2.3 弹出式菜单 231

11.3 鼠标响应处理 233

11.3.1 鼠标消息 234

11.3.2 添加鼠标消息响应函数 234

11.4 工具栏和状态栏设计 235

11.4.1 定制工具栏 235

11.4.2 定制状态栏 237

11.5 对文档进行读写 238

11.5.1 时髦的序列化工作 239

11.5.2 MFC应用程序的序列化 239

11.6 使用不同的视图 241

11.6.1 滚动视图 241

11.6.2 多视图 243

11.7 技术解惑 247

11.7.1 模板、文档、视图和框架

 的关系 247

11.7.2 模板、文档、视图和框架

 的相互访问 247

11.7.3 文档和视图的关系 248

第 12章 图形图像编程 249

(视频总计40分钟,实例11个,拓展实例22个,技术解惑4个)

12.1 图形设备接口 250

12.1.1 GDI接口基础 250

12.1.2 GDI坐标系和映射模式 251

12.1.3 颜色和颜色设置 252

12.2 绘制图形 252

12.2.1 GDI对象 252

12.2.2 创建和使用画笔 253

12.2.3 创建和使用画刷 254

12.2.4 绘制基本图形 256

12.3 文本与字体 257

12.3.1 字体的概念 257

12.3.2 创建字体 258

12.3.3 “字体”对话框 259

12.3.4 绘制文本 261

12.4 位图、图标和光标 261

12.4.1 位图 262

12.4.2 图标 267

12.4.3 光标 268

12.5 读写、显示图像文件 270

12.5.1 剖析BMP图像文件 270

12.5.2 读写BMP图像文件 272

12.5.3 显示BMP图像 274

12.5.4 多层图像的合成 276

12.6 技术解惑 278

12.6.1 MFC显示位图的方法 278

12.6.2 制作图形按钮的通用

 方法 279

12.6.3 在MFC中设置背景颜色

 方法 279

12.6.4 百页窗效果 280

第 13章 动态链接库 281

(视频总计20分钟,实例6个,拓展实例12个,技术解惑3个)

13.1 动态链接库基础 282

13.2 动态链接库的创建及调用 283

13.2.1 非MFC动态库 284

13.2.2 常规动态库 285

13.2.3 扩展动态库 289

13.3 技术解惑 290

13.3.1 DLL的编制与具体的编程

 语言及编译器无关 290

13.3.2 MFC中的动态链接库是否

 必须是动态链接 291

13.3.3 动态链接到MFC的规则

 DLL 291

第 14章 使用ActiveX控件 292

(视频总计27分钟,实例9个,拓展实例18个,技术解惑2个)

14.1 组件与ActiveX控件 293

14.2 创建ActiveX控件 294

14.2.1 使用MFC创建ActiveX

 控件 294

14.2.2 测试ActiveX控件 296

14.2.3 添加事件 296

14.2.4 添加属性 299

14.3 调用ActiveX控件 303

14.3.1 MFC应用程序调用

 ActiveX控件 304

14.3.2 在Web页面调用

 ActiveX控件 305

14.4 技术解惑 305

14.4.1 将ActiveX 控件标记为

 安全 305

14.4.2 ActiveX控件的自注册

 问题 307

第 15章 数据库技术 308

(视频总计42分钟,实例9个,拓展实例18个,技术解惑3个)

15.1 Windows数据库解决方案 309

15.1.1 常见的数据库管理系统 309

15.1.2 常见的数据库访问

 接口 310

15.1.3 数据库操作语言SQL 312

15.2 ADO访问技术 314

15.2.1 ADO数据库访问模型 314

15.2.2 ADO数据库访问步骤 316

15.2.3 使用ADO访问Access

 数据库 317

15.3 ODBC访问技术 322

15.3.1 MFC ODBC数据库

 访问类 323

15.3.2 MFC ODBC数据库

 访问技术 326

15.3.3 DBGrid控件的使用 333

15.4 技术解惑 335

15.4.1 数据库与MFC的连接

 问题 335

15.4.2 滚动记录的方法 336

15.4.3 数据模型、概念模型和

 关系数据模型 336

第 16章 多线程 338

(视频总计33分钟,实例7个,拓展实例14个,技术解惑3个)

16.1 认识多线程 339

16.1.1 线程与进程 339

16.1.2 线程的优先级 339

16.1.3 线程同步 340

16.2 Win32 API多线程编程 340

16.2.1 编写线程函数 340

16.2.2 创建一个线程 340

16.2.3 终止线程 342

16.2.4 设置线程优先级 343

16.2.5 线程的挂起与恢复 343

16.2.6 线程同步 343

16.3 多线程编程 346

16.3.1 工作线程的创建与

 使用 346

16.3.2 创建与使用用户界面

 线程 347

16.3.3 线程同步 348

16.3.4 线程通信 353

16.4 技术解惑 354

16.4.1 Visual C++ 6.0线程同步的

 问题 354

16.4.2 线程和标准的Windows

 主程序的关系 355

16.4.3 线程安全的本质 355

第 17章 网络编程技术 356

(视频总计34分钟,实例6个,拓展实例12个,技术解惑2个)

17.1 认识Windows Socket 357

17.1.1 分析网络通信基本流程 357

17.1.2 搭建开发环境 357

17.1.3 几种常用的数据结构 358

17.1.4 需要了解的两个概念 358

17.2 流式套接字 358

17.2.1 流式套接字编程模型 359

17.2.2 利用流式套接字传输

 数据文件 362

17.3 数据报套接字编程 365

17.3.1 编程模型 365

17.3.2 传输消息 366

17.4 实现局域网内IP多播 367

17.4.1 IP多播 367

17.4.2 实现多播通信 370

17.5 利用MFC进行套接字编程 372

17.5.1 CAsyncSocket和CSocket

 组合 372

17.5.2 利用类CSocket实现一个

 局域网通信软件 373

17.6 WinInet类 376

17.6.1 MFC 的WinInet类 376

17.6.2 利用类WinInet编写互联网

 客户端程序 377

17.7 技术解惑 380

17.7.1 TCP/IP 体系结构 380

17.7.2 客户机/服务器模式

 介绍 381

第 18章 多媒体编程 382

(视频总计19分钟,实例3个,拓展实例6个,技术解惑2个)

18.1 控制接口 383

18.1.1 常见的几种多媒体

 类型 383

18.1.2 **基本的媒体控制

 接口 383

18.1.3 MCIWnd窗口类 386

18.2 使用MFC控件实现多媒体

 编程 388

18.2.1 Active Movie Control

 Object基础 389

18.2.2 用ActiveX控件播放

 媒体信息 390

18.3 使用OpenGL实现三维程序 391

18.3.1 OpenGL初步 392

18.3.2 OpenGL三维程序设计 394

18.4 技 术 解 惑 397

18.4.1 音频编码和解码技术 397

18.4.2 探讨像素格式 398

第 19章 注册表编程其实很简单 399

(视频总计34分钟,实例3个,拓展实例6个

19.1 Windows注册表印象 400

19.2 常用的几个函数 401

19.2.1 创建键函数

 RegCreateKeyEx 401

19.2.2 打开键函数

 RegOpenKeyEx 404

19.2.3 读取键值函数

 RegQueryValueEx 404

19.2.4 设置键值函数

 RegSetValueEx 406

第 20章 仿QQ通信工具 408

(视频总计28分钟)

20.1 需求分析 409

20.1.1 总体设计 409

20.1.2 文件概述 411

20.2 服务器端编码 412

20.2.1 设计服务器界面 412

20.2.2 用户信息管理模块 412

20.2.3 客户端请求信息处理 415

20.2.4 系统群消息发送功能 417

20.3 客户端编码 418

20.3.1 客户端界面设计 418

20.3.2 基本信息与消息设计 419

20.3.3 线程函数的设计与实现 420

20.3.4 与服务器端的交互功能 422

20.3.5 客户端之间的交互 425

20.4 系统调试 429

第 21章 专业理财系统 430

(视频总计44分钟)

21.1 系统分析 431

21.1.1 需求分析 431

21.1.2 可行性分析 431

21.2 系统设计 431

21.2.1 系统目标 431

21.2.2 系统模块结构 432

21.3 设计数据结构 432

21.3.1 设计数据库 433

21.3.2 设计系统框架 434

21.4 前期编码 437

21.4.1 用户管理模块 438

21.4.2 收支信息模块 442

21.5 后期编码 449

21.5.1 设计界面 449

21.5.2 编码实现 449

21.6 项目调试 452

详情

从初学者的角度出发,以通俗易懂的语言,配合丰富多彩的实例,详细介绍了使用Visual C++6.0进行程序开发应该掌握的各方面知识。全书包括Visual C++6.0集成开发环境,C++语言基础,语句,面向过程程序设计,面向对象程序设计,对话框应用程序设计,常用控件,菜单,工具栏和状态栏,高级控件,自定义MFC控件,文本、图形、图像处理。书中所有知识都结合具体实例进行介绍,快速提高开发技能。

图书摘要

相关图书

代码审计——C/C++实践
代码审计——C/C++实践
CMake构建实战:项目开发卷
CMake构建实战:项目开发卷
C++ Templates(第2版)中文版
C++ Templates(第2版)中文版
C/C++代码调试的艺术(第2版)
C/C++代码调试的艺术(第2版)
计算机图形学编程(使用OpenGL和C++)(第2版)
计算机图形学编程(使用OpenGL和C++)(第2版)
Qt 6 C++开发指南
Qt 6 C++开发指南

相关文章

相关课程