《VISUAL C++开发从入门到精通》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:王东华,李樱编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2016
  • ISBN:7115418685
  • 页数:454 页
图书介绍:

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

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 技术解惑 23

1.4.1 学习C++是否有用 23

1.4.2 解决Windows 7安装Visual C++6.0的兼容性问题 23

1.4.3 怎样学好编程 25

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

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.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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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