Visual C++6.0完全自学宝典PDF电子书下载
- 电子书积分:18 积分如何计算积分?
- 作 者:朱洪波编著
- 出 版 社:北京:清华大学出版社
- 出版年份:2008
- ISBN:9787302175964
- 页数:610 页
第1章C+程序设计语言概述 2
1.1 C++和C#、 Java的区别 2
1.1.1面向对象还是面向过程 2
1.1.2内存管理是否自动释放 2
1.1.3是否跨平台 3
1.1.4 C+++与其他语言的主要区别 3
1.2 C++语言的主要应用领域 4
1.3 C++的开发工具以及Visual C++6.0 5
1.3.1 Visual C+++6.0开发工具简介 5
1.3.2 Visual C+++6.0的开发过程 6
第2章Visual C+ 6.0入门 7
2.1安装Visual ++6.0 7
2.1.1对硬件的要求 7
2.1.2安装Visual C+++6.0 8
2.1.3安装MSDN Library 9
2.1.4安装源代码管理器 11
2.1.5完成安装 11
2.1.6安装Visual C+++ 6.0开发插件 12
2.1.7编写宏文件 12
2.1.8使用宏文件 15
2.2 Visual C++ 6.0开发环境介绍 17
2.2.1熟悉Visual C+++ 6.0开发环境 17
2.2.2建立一个工程 18
2.2.3工程菜单 21
2.2.4编译菜单 22
2.2.5 Tools菜单 23
2.2.6工具条 23
2.3创建第一个Visual C++程序 24
2.3.1编写代码 24
2.3.2编译程序 25
2.3.3运行程序 25
2.4使用源代码管理器 25
2.4.1基本概念 26
2.4.2创建数据库 26
2.4.3根据现有工程在服务端创建文件夹 27
2.4.4代码入库和出库 27
2.4.5版本控制(Label) 29
2.5常见问题 29
2.5.1必须安装和Visual C+++ 6.0配套发行的MSDN Library吗 29
2.5.2可以在Visual C+++ 6.0下使用其他的C+++编译器吗 29
第3章C+基础语法 30
3.1变量和常量 30
3.2 C++基础数据类型 31
3.2.1整值类型 31
3.2.2浮点值类型 32
3.2.3布尔类型 33
3.2.4字符串类型 33
3.3 C++高级数据类型 34
3.3.1枚举类型 34
3.3.2结构类型 36
3.3.3联合类型 37
3.3.4数组类型 38
3.4指针和引用 40
3.4.1指针变量的声明与初始化 41
3.4.2指针运算符: 43
3.4.3指针运算符: 44
3.4.4指针运算符: 45
3.4.5指针运算 47
3.4.6指针与常量限定符 48
3.4.7指针与数组 49
3.4.8引用 50
3.5表达式和运算符 52
3.5.1表达式的定义 52
3.5.2基本运算符 52
3.5.3逻辑运算操作符 53
3.5.4=、>、>=、<、<=、!=运算符 53
3.5.5 +++、--操作符 53
3.5.6位操作符 54
3.5.7 new/delete操作符 54
3.6程序控制结构 56
3.6.1 switch/case结构 56
3.6.2 if/else/else if结构 58
3.6.3 goto语句 59
3.6.4 for循环语句 59
3.6.5 while与do/while循环语句 61
3.6.6 break语句 62
3.6.7 continue语句 63
3.7函数 64
3.7.1函数的定义 64
3.7.2函数的返回类型 65
3.7.3函数的参数 65
3.7.4参数传递 66
3.7.5函数的默认参数 68
3.8常见问题 69
3.8.1 new/delete操作符和malloc/free函数有何区别 9
3.8.2应该使用const修饰符还是宏 70
第4章C+面向对象编程 72
4.1类的基本概念和特性 72
4.1.1类和结构 72
4.1.2类的数据成员 73
4.1.3类的成员函数 74
4.1.4类成员访问级别 75
4.1.5类声明、类定义和类实现 76
4.1.6类的内联函数和非内联函数 78
4.1.7构造函数 78
4.1.8析构函数 81
4.1.9 this指针 82
4.1.10友元 82
4.1.11静态成员 84
4.2类的派生和继承 87
4.2.1 public继承 87
4.2.2 protected继承 98
4.2.3 private继承 100
4.3常见问题 100
4.3.1析构函数是否可以定义为虚函数,有何用处 101
4.3.2在C+++中struct被赋予了哪些类的特征 102
第5章 异常及其处理 104
5.1异常的产生 104
5.2异常的处理 106
5.3深入了解异常 109
5.3.1异常的再抛出 109
5.3.2异常的参数传递 110
5.4 Visual C+++ 6.0中的异常 112
5.4.1关键字try/_except/_nally 112
5.4.2 TRY/CATCH宏 112
5.5常见问题 113
5.5.1应该怎样设计异常 113
5.5.2如何避免使用异常 114
第6章Visual C+ 6.0开发起步 116
6.1 Windows消息机制 116
6.1.1什么是消息 116
6.1.2消息的分类 117
6.1.3消息的处理过程 118
6.2 Win32 API介绍 118
6.2.1 API的分类 118
6.2.2 API的用途 119
6.2.3在Visual C+++ 6.0中使用Win32 API 119
6.3 MFC介绍 119
6.3.1 MFC的来源和用途 120
6.3.2 MFC的基本框架结构 120
6.3.3使用MFC 121
6.4常见问题 122
6.4.1如何自定义消息 122
6.4.2 Win32 API定义了哪些数据类型 123
6.4.3 Visual C+++、 Win32 API和MFC之间的关系 124
6.4.4使用C+++开发Windows应用程序必须使用Win32 API或者MFC吗 124
第7章 开发基于对话框的应用程序 126
7.1使用向导生成应用程序框架 126
7.1.1建立基于对话框的应用程序框架 126
7.1.2控件 128
7.2基于对话框的程序基本框架 128
7.2.1应用程序的入口函数 129
7.2.2 MFC应用程序的入口点 130
7.2.3 CDemolApp类解析 131
7.2.4 CDemolDlg类框架解析 132
7.2.5 CDemolDlg类解析 134
7.3实现数据交互 136
7.3.1使用类向导编辑控件属性 137
7.3.2使用类向导实现数据交互 137
7.4实现消息映射 139
7.4.1消息的分类 140
7.4.2消息的处理 140
7.4.3处理【OK】按钮单击事件 141
7.4.4程序实现 143
7.4.5自定义控件 145
7.5实战:简易计算器 148
7.5.1程序界面设计 148
7.5.2简易计算器的业务逻辑 149
7.5.3简易计算器的状态 150
7.5.4简易计算器的实现 151
7.6常见问题 159
7.6.1如何响应自定义消息 159
7.6.2如何在窗体中使用定时器 160
第8章 文档/视图结构 163
8.1基础知识 163
8.1.1单文档视图和多文档视图结构 163
8.1.2文件类型 164
8.1.3使用向导生成一个简单的记事本 164
8.2单文档/视图结构 166
8.2.1 CDocViewApp应用程序类解析 166
8.2.2修改CDocViewApp类使得程序支持多种文件类型 168
8.2.3 CMainFrame框架类解析 171
8.2.4 CDocViewDoc文档类解析 173
8.2.5 CDocViewView视图类解析 174
8.3多文档/视图结构 174
8.4实战:使用单文档/视图结构实现八数码游戏 175
8.4.1需求分析 176
8.4.2设计并实现操作接口的主框架 176
8.4.3设计并实现棋盘数据结构 178
8.4.4在CEightDoc类中添加棋盘类的对象 182
8.4.5在CMainFrame类中实现对棋盘的控制 182
8.4.6在CEightView类中实现对棋盘的控制 184
8.4.7在CEightView类中实现对棋盘的绘制 185
8.4.8实现智能解题 188
8.5常见问题 194
8.5.1 CFrameWnd、 CView、 CDocument是如何协作的 194
8.5.2 MFC中包含了哪些CView的派生类 195
第9章 使用Visual C+ 6.0开发动态链接库 196
9.1动态链接库基础 196
9.1.1创建静态链接库 196
9.1.2使用静态链接库 197
9.1.3创建简单的动态链接库 199
9.1.4使用动态链接库 201
9.1.5动态链接库和静态链接库的比较 203
9.1.6规则DLL和扩展DLL 203
9.2开发Win32动态链接库 204
9.2.1动态链接库的初始化和反初始化 204
9.2.2导出、导入函数和数据 206
9.3开发基于MFC的动态链接库 208
9.3.1创建链接MFC的规则DLL 208
9.3.2 MFC扩展DLL 210
9.4实战:使用动态链接库实现界面和功能实现的分离 212
9.5常见问题 217
9.5.1 AFX MANAGE STATE宏有何作用,何时需要使用该宏 217
9.5.2 MFCDLL能导出C+++类、成员函数吗 218
9.5.3如何只导出部分类成员 218
9.5.4 LoadLibrary和FreeLibrary函数的用途有哪些,什么是显式加载动态链接库 219
9.5.5 DEPENDS工具的用处有哪些 220
9.5.6 Windows操作系统用来定位DLL的搜索路径是怎样的 220
第10章 多线程开发 222
10.1为什么需要多线程 222
10.2基础知识 222
10.2.1进程与线程 222
10.2.2关于“同时执行”、“并发处理” 223
10.3线程的创建与结束 224
10.3.1 Sleep函数 224
10.3.2 CreateThread/ExitThread函数 225
10.3.3 _beginthreadex/_endthreadex函数 227
10.3.4 AfxBeginThread/AfxEndThread函数 228
10.3.5选择哪种函数创建线程 231
10.4线程的调度 233
10.4.1优先权类别 233
10.4.2优先权层级 234
10.5核心对象 234
10.5.1什么是核心对象 235
10.5.2 CloseHandle函数 235
10.6线程同步 236
10.6.1同步机制简介 236
10.6.2临界区域(Critical Section) 236
10.6.3使用临界区域保证数据访问的安全性 238
10.6.4安全退出临界区域 240
10.6.5互斥器(Mutexes) 242
10.6.6使用互斥器设计线程安全的数据结构 244
10.6.7信号量(Semaphores) 249
10.6.8事件(Event Objects) 251
10.6.9使用事件通知线程安全地退出 253
10.6.10 WaitForSingleObject系列函数 254
10.7再论线程的创建和退出 255
10.7.1回顾 255
10.7.2创建线程的一个习惯用法 256
10.7.3协作式退出线程 257
10.8实战:多线程实现百米赛跑模拟 258
10.8.1设计界面 259
10.8.2设计相关数据结构 259
10.8.3实现自定义消息响应 262
10.9常见问题 265
10.9.1在多线程情况下*使用STL(标准模板库)应该注意什么 265
10.9.2 临界区域(Critical Section)相比本章介绍的相关核心对象有何优缺点 265
第11章 数据库应用开发 266
11.1数据库应用开发介绍 266
11.1.1 ODBC技术介绍 266
11.1.2 OLE DB、 ADO技术介绍 267
11.1.3使用数据库API接口 268
11.1.4准备工作 268
11.2使用ODBC开发数据库应用 269
11.2.1创建ODBC数据源 269
11.2.2连接数据源 271
11.2.3 CRecordSet类介绍 273
11.2.4添加、修改和删除数据 276
11.2.5撤销操作 277
11.2.6查询记录 278
11.2.7读取数据 278
11.3使用ADO开发数据库应用 280
11.3.1 ADO内置对象简介 281
11.3.2使用ADO注意事项 281
11.3.3连接数据库 281
11.3.4记录集-填充和读取数据 283
11.3.5记录集-添加数据 284
11.3.6记录集-删除数据 284
11.3.7记录集-编辑数据 285
11.3.8命令 286
11.4使用数据库API开发数据库应用 287
11.4.1 MySQL数据库介绍 287
11.4.2安装MySQL数据库 288
11.4.3准备工作 288
11.4.4配置编译环境 289
11.4.5连接MySQL数据库 290
11.4.6执行SQL语句 291
11.4.7读取数据 291
11.5实战:使用ODBC操作MSSQL Server数据库 291
11.5.1需求分析 292
11.5.2界面设计及实现 292
11.5.3实现数据源的连接和关闭 294
11.5.4数据显示 295
11.5.5删除数据 296
11.5.6添加、编辑数据 297
11.6实战:使用ADO操作Access数据库 301
11.6.1需求分析 301
11.6.2数据库设计 301
11.6.3界面设计 302
11.6.4封装数据结构 303
11.6.5数据访问层接口设计 304
11.6.6数据访问层接口实现 305
11.6.7辅助窗口设计和实现 311
11.6.8主程序实现 314
11.7实战:开发MySQL数据库应用程序 323
11.7.1设置头文件和导入库 323
11.7.2编写辅助宏 324
11.7.3设计数据结构 324
11.7.4连接数据库 325
11.7.5添加数据 326
11.7.6读取数据 326
11.7.7主程序实现 327
11.8常见问题 330
11.8.1如何选择开发数据库应用程序的技术 330
11.8.2如何使用基于 XML的文本数据库 330
第12章Windows网络编程 331
12.1 Winsock基础知识 331
12.1.1 Winsock版本 331
12.1.2使用Winsock 333
12.1.3初始化Winsock 334
12.1.4反初始化Winsock 335
12.1.5使用WSAGetLastError 函数 336
12.1.6基本的Winsock初始化、反初始化代码框架 337
12.1.7阻塞和非阻塞调用 338
12.2寻址及套接字的创建与关闭 338
12.2.1 IPV4寻址 338
12.2.2创建套接字 340
12.2.3关闭套接字 341
12.3使用TCP协议进行网络通信 342
12.3.1 TCP协议通信流程 342
12.3.2服务端函数 342
12.3.3客户端函数 345
12.3.4收发数据 345
12.4使用UDP协议进行网络通信 347
12.4.1 UDP协议通信流程 347
12.4.2服务端函数 348
12.4.3客户端函数 350
12.5 Winsock I/O模型 353
12.5.1套接字模式 353
12.5.2阻塞模型、select模型 354
12.5.3 WSAAsyncSelect模型 357
12.5.4 WSAEventSelect模型 359
12.5.5重叠模型、完成端口模型 361
12.6实战:使用UDP协议实现即时通信 361
12.6.1需求分析 362
12.6.2通信协议设计 363
12.6.3服务端设计与实现 363
12.6.4客户端框架设计 373
12.6.5设定套接字模型 375
12.6.6套接字的连接和关闭 375
12.6.7消息的发送 377
12.6.8数据接收 378
12.6.9运行效果 381
12.7常见问题 382
12.7.1为什么本章没有介绍使用MFC类进行Windows网络编程 382
12.7.2本章中介绍的Winsock I/O模型对平台有何要求 382
12.7.3在select模型中,fd set结构能够绑定多少套接字 382
12.7.4 WSAWaitForMultiple- Events可以同时等待多少网络事件对象 382
12.7.5编写网络应用程序应该注意什么 382
第13章 一个完整的项目实现 384
13.1需求分析以及项目框架 384
13.2服务端设计与实现 385
13.2.1通信协议的设计 385
13.2.2多线程模型的设计 387
13.2.3线程同步 387
13.2.4文件管理模块的设计 388
13.2.5用户管理模块的设计 394
13.2.6线程管理模块设计 400
13.2.7监听模块设计 408
13.2.8传输/服务模块设计 411
13.2.9服务端主程序设计 415
13.3客户端设计与实现 422
13.3.1界面设计 422
13.3.2相关数据结构设计 422
13.3.3断点续传功能的实现 424
13.3.4服务器连接模块 426
13.3.5文件目录信息获取模块 426
13.3.6文件下载模块 426
13.4运行情况 429
13.5常见问题 430
13.5.1服务端如何管理“正在服务的客户”和“尚未服务的客户” 430
13.5.2为什么在某些网络环境下测试本章程序会出现丢包现象 430
第14章 错误和调试 432
14.1错误的基本概念和常见问题 432
14.1.1什么是错误 432
14.1.2野指针问题 432
14.1.3空指针问题 433
14.1.4传值不当引起的问题 434
14.1.5循环终止条件设置不当引起的效率问题 435
14.1.6使用STL中迭代器失效的问题 435
14.2使用Visual C+++ 6.0进行调试 436
14.2.1 Debug版本和Release版本 436
14.2.2以调试模式启动程序 436
14.2.3断点的使用 437
14.2.4 Step Into和Step Out 438
14.2.5 Step Out和Run to Cursor 440
14.2.6查看调试断点的上下文信息 441
14.2.7调试动态链接库 442
14.3常见问题 442
14.3.1如何在Release版本下加入调试符号 443
14.3.2 MFC对程序调试提供了哪些支持 443
第15章MFC常用技巧 444
15.1使CListCtrl控件可以选择一整行 444
15.2去除单(多)文档窗口标题栏的文档名 445
15.3禁止调整窗口大小 445
15.4使应用程序在同一时刻只能运行一个实例 446
15.5创建选择文件夹的对话框 447
15.6使窗口置顶 449
15.7使应用程序支持启动参数 449
15.8获得程序自身所在的目录 450
15.9如何播放WAV文件 451
15.10更改选择文件对话框中的按钮文字 452
15.11使用CBitmapButton类 453
15.12使用CToolTipCtrl类实现提示信息效果 455
15.13判断窗口的最大化、最小化状态并进行控制 457
15.14如何在运行时动态创建控件 458
15.15如何创建“上下文”式右键菜单 460
15.16如何获得系统文件夹路径 462
15.17如何使用RichEdit控件 462
15.18如何获取当前屏幕的分辨率 463
15.19 CListCtrl控件无法满足需求,有什么好的控件可以代替 463
15.20有哪些兼容MFC的界面库 464
第16章MFC抽象数据类型 465
16.1链表 465
16.1.1使用CStringList、 CObList、CPtrList简单链表类 465
16.1.2使用CList链表类 468
16.2数组 469
16.2.1使用CDWordArray类 470
16.2.2使用CArray类 474
16.3映射 475
16.3.1使用CMapStringToString等简单映射类 475
16.3.2使用CMap类 477
16.4常见问题 478
16.4.1如何选择适当的MFC抽象数据类型 478
16.4.2使用MFC抽象数据类型还是STL(标准模板库) 478
第17章 标准模板库(STL) 479
17.1基本概念 479
17.1.1命名空间和头文件 479
17.1.2异常处理 480
17.1.3 STL的主要组成部分 481
17.2容器 482
17.2.1使用动态数组类vector 482
17.2.2使用队列类deque 489
17.2.3使用链表类list 491
17.2.4使用集合类set 498
17.2.5使用映射类map 501
17.3常用算法 506
17.3.1 for each算法 506
17.3.2 count、 count if算法 507
17.3.3 min element、 max element算法 508
17.3.4 fiind、 find_if算法 509
17.4常见问题 511
17.4.1 STL有不同版本吗 511
17.4.2遍历容器为什么对迭代器进行+++ite而不是ite+++操作 511
第18章ERP的进销存管理系统 512
18.1概念分析阶段 512
18.1.1需求分析 512
18.1.2系统功能分析 512
18.1.3系统模块设计 513
18.1.4数据库设计 514
18.1.5创建数据库 516
18.2项目前期配置 517
18.2.1选择数据库程序开发技术 517
18.2.2新建用于实现系统的项目 517
18.2.3添加用于数据库开发的ADO封装类和ADO控件 518
18.3用户管理模块 520
18.3.1实现用户登录功能 520
18.3.2实现修改密码功能 526
18.3.3实现用户的增、删、改 528
18.4实体信息管理模块 532
18.4.1客户信息管理 532
18.4.2供应商信息管理 539
18.4.3员工信息管理 545
18.4.4商品信息管理 547
18.5进销存管理模块 553
18.5.1销售管理 553
18.5.2进货管理 560
18.6统计报表模块 566
18.6.1创建员工销售业绩报表 566
18.6.2创建各种商品销售情况报表 570
18.6.3员工销售业绩统计报表 572
18.6.4各种商品销售情况统计报表 575
18.7系统运行结果 575
18.8常见问题 576
18.8.1什么是水晶报表 576
18.8.2从程序员的角度看,MIS系统的开发步骤是怎样的 576
附录A C++常见面试题 578
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《英语自学进阶教程全6册 3》爱尔兰迪尔德丽出版社著 2019
- 《教育学考研应试宝典》徐影主编 2019
- 《匹克吉他自学教程》李成福编著 2017
- 《AutoCAD 2018自学视频教程 标准版 中文版》CAD/CAM/CAE技术联盟 2019
- 《吉他宝典 吉他手超级手册 上》姜伟主编;汶麟,姚林,杜新春,赖康康,朱家明,克尔曼副主编 2018
- 《吉他自学一本通 吉他弹唱·独奏·乐理教程》陈飞,伊家林 2020
- 《英语自学进阶教程全6册 2》爱尔兰迪尔德丽出版社著 2019
- 《高考英语自学丛书 概要写作》祝嘉 2018
- 《英语自学进阶教程全6册 5》爱尔兰迪尔德丽出版社著 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019