当前位置:首页 > 工业技术
Visual C++6.0完全自学宝典
Visual C++6.0完全自学宝典

Visual C++6.0完全自学宝典PDF电子书下载

工业技术

  • 电子书积分:18 积分如何计算积分?
  • 作 者:朱洪波编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2008
  • ISBN:9787302175964
  • 页数:610 页
图书介绍:Visual C++6.0是微软公司为程序人员提供的Visual Studio6.0工具套件中的重要组成部分。本书由浅入深的介绍了使用Visual C++6.0进行Windows应用程序开发的一般过程和方法,既包含相关的理论讲解,又安排相应的实例作为补充,以期从理论和实践两个方面,帮助读者了解相关的知识,并掌握相关的技能。
《Visual C++6.0完全自学宝典》目录

第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

相关图书
作者其它书籍
返回顶部