《Visual C++ 2005入门经典》PDF下载

  • 购买积分:26 如何计算积分?
  • 作  者:(美)Ivor Horton著;李颂华,康会光译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2007
  • ISBN:7302142718
  • 页数:1046 页
图书介绍:本书介绍使用Visual C++ 2005编程的技巧和基本知识。

第1章 使用Visual C++2005编程 1

1.1 .NET Framework 1

1.2 CLR 2

1.3 编写C++应用程序 3

1.4.1 学习C++ 4

1.4 学习Windows编程 4

1.4.3 控制台应用程序 5

1.4.2 C++标准 5

1.4.4 Windows编程概念 6

1.5 集成开发环境简介 7

1.6.1 工具栏选项 9

1.6 使用IDE 9

1.6.2 可停靠的工具栏 10

1.6.4 项目和解决方案 11

1.6.3 文档 11

1.6.5 设置Visual C++2005的选项 23

1.6.6 创建和执行Windows应用程序 24

1.6.7 创建WindowsForms应用程序 26

1.7 小结 29

2.1 C++程序结构 31

第2章 数据、变量和计算 31

2.1.1 程序注释 36

2.1.3 命名空间和using声明 37

2.1.2 #include指令——头文件 37

2.1.5 程序语句 38

2.1 main()函数 38

2.1.6 空白 40

2.1.8 自动生成的控制台程序 41

2.1.7 语句块 41

2.2 定义变量 42

2.2.2 C++中的关键字 43

2.2.1 命名变量 43

2.2.4 变量的初值 44

2.2.3 声明变量 44

2.3.1 整型变量 45

2.3 基本数据类型 45

2.3.2 字符数据类型 46

2.3.3 整型修饰符 47

2.3.5 浮点类型 48

2.3.4 布尔类型 48

2.3.6 ISO/ANSI C++中的基本类型   49

2.3.8 定义数据类型的同义词 50

2.3.7 字面值 50

2.3.9 具有特定值集的变量 51

2.3.10 指定枚举常量的类型 52

2.4.2 到命令行的输出 53

2.4.1 从键盘输入 53

2.4 基本的输入/输出操作 53

2.4.3 格式化输出 54

2.4.4 转义序列 55

2.5.1 赋值语句 57

2.5 C++中的计算 57

2.5.2 算术运算 58

2.5.4 修改变量 63

2.5.3 计算余数 63

2.5.5 增量和减量运算符 64

2.5.6 计算的顺序 66

2.6 变量类型和类型强制转换 67

2.6.1 对操作数进行类型强制转换的规则 68

2.6.3 显式类型强制转换 69

2.6.2 赋值语句中的类型强制转换 69

2.6.4 老式的类型强制转换 70

2.6.5 按位运算符 71

2.7 了解存储时间和作用域 76

2.7.1 自动变量 77

2.7.3 全局变量 79

2.7.2 决定变量声明的位置 79

2.7.4 静态变量 82

2.8 命名空间 83

2.8.1 声明命名空间 84

2.8.2 多个命名空间 86

2.9.1 C++/CLI特有的基本数据类型 87

2.9 C++/CLI编程 87

2.9.2 命令行上的C++/CLI输出 91

2.9.3 C++/CLI特有的功能——格式化输出 92

2.9.4 C++/CLI的键盘输入 94

2.9.5 使用safe_cast 95

2.9.6 C++/CLI枚举 96

2.10 小结 98

2.11 练习题 100

3.1 比较数据值 101

第3章 判断和循环 101

3.1.1 if语句 102

3.1.2 嵌套的if语句 103

3.1.3 扩展的if语句 105

3.1.4 嵌套的if-else语句 107

3.1.5 逻辑运算符和表达式 109

3.1.6 条件运算符 112

3.1.7 switch语句 114

3.1.8 无条件转移 116

3.2.1 循环的概念 117

3.2 重复执行语句块 117

3.2.2 for循环的变体 120

3.2.3 while循环 127

3.2.4 do-while循环 129

3.2.5 嵌套的循环 130

3.3  C++/CLI编程 133

3.4 小结 139

3.5 练习 140

4.1 处理多个相同类型的数据值 141

第4章 数组、字符串和指针 141

4.1.2 声明数组 142

4.1.1 数组 142

4.1.3 初始化数组 145

4.1.4 字符数组和字符串处理 147

4.1.5 多维数组 150

4.2.1 指针的概念 153

4.2 间接数据存取 153

4.2.2 声明指针 154

4.2.3 使用指针 155

4.2.4 初始化指针 157

4.2.5 sizeof运算符 162

4.2.6 常量指针和指向常量的指针 164

4.2.7 指针和数组 165

4.3.2 new和delete运算符 172

4.3.1 堆的别名——自由存储器 172

4.3 动态内存分配 172

4.3.3 为数组动态分配内存 173

4.3.4 多维数组的动态分配 176

4.4.2 声明并初始化引用 177

4.4.1 引用的概念 177

4.4 使用引用 177

4.5.1 跟踪句柄 178

4.5 C++/CLI编程 178

4.5.2 CLR数组 180

4.5.3 字符串 195

4.5.4 跟踪引用 203

4.5.5 内部指针 204

4.6 小结 206

4.7 练习 207

5.1 理解函数 209

第5章 程序结构(1) 209

5.1.2 函数的结构 210

5.1.1 需要函数的原因 210

5.1.3 使用函数 212

5.2 给函数传递实参 216

5.2.1 按值传递机制 217

5.2.2 给函数传递指针实参 218

5.2.3 给函数传递数组 219

5.2.4 给函数传递引用实参 224

5.2.5 使用const修饰符 226

5.2.6 main()函数的实参 227

5.2.7 接受数量不定的函数实参 229

5.3.1 返回指针 231

5.3 从函数返回值 231

5.3.2 返回引用 234

5.3.3 函数中的静态变量 236

5.4 递归函数调用 239

5.5 C++/CLI编程 241

5.5.1 接受数量可变实参的函数 242

5.5.2 main()的实参 243

5.6 小结 244

5.7 练习 245

6.1 函数指针 246

第6章 程序结构(2) 246

6.1.1 声明函数指针 247

6.1.2 函数指针作为实参 250

6.1.3 函数指针的数组 251

6.2 初始化函数形参 252

6.3 异常 253

6.3.1 抛出异常 255

6.3.2 捕获异常 256

6.3.3 MFC中的异常处理 257

6.4 处理内存分配错误 258

6.5 函数重载 259

6.5.1 函数重载的概念 260

6.6 函数模板 262

6.5.2 何时重载函数 262

6.7.1 实现计算器 265

6.7 使用函数的示例 265

6.7.3 计算表达式的值 268

6.7.2 从字符串中删除空格 268

6.7.4 获得项值 271

6.7.5 分析数 272

6.7.6 整合程序 274

6.7.7 扩展程序 276

6.7.8 提取子字符串 277

6.8  C++/CLI编程 280

6.7.9 运行修改过的程序 280

6.8.1 理解类函数 281

6.8.2 CLR版本的计算器程序 287

6.10 练习 293

6.9 小结 293

7.1 C++中的结构 295

第7章 自定义数据类型 295

7.1.3 初始化结构 296

7.1.2 定义结构 296

7.1.1 结构的概念 296

7.1.4 访问结构的成员 297

7.1.5 伴随结构的智能帮助 300

7.1.6 RECT结构 301

7.1.7 使用指针处理结构 302

7.2 数据类型、对象、类和实例 303

7.2.2 类的操作 305

7.2.1 类的起源 305

7.3 理解类 306

7.2.3 术语 306

7.3.2 声明类的对象 307

7.3.1 定义类 307

7.3.3 访问类的数据成员 308

7.3.4 类的成员函数 310

7.3.6 内联函数 312

7.3.5 成员函数定义的位置 312

7.4.1 构造函数的概念 313

7.4 类构造函数 313

7.4.2 默认的构造函数 315

7.4.3 在类定义中指定默认的形参值 318

7.5 类的私有成员 320

7.4.4 在构造函数中使用初始化列表 320

7.5.1 访问私有类成员 323

7.5.2 类的友元函数 324

7.5.3 默认复制构造函数 326

7.6 this指针 328

7.7.1 类的const成员函数 331

7.7 类的const对象 331

7.7.2 类外部的成员函数定义 332

7.8 类对象的数组 333

7.9.1 类的静态数据成员 335

7.9 类的静态成员 335

7.10.1 类对象的指针 338

7.10 类对象的指针和引用 338

7.9.2 类的静态函数成员 338

7.10.2 类对象的引用 341

7.11  C++/CLI编程 343

7.11.1 定义数值类类型 344

7.11.2 定义引用类类型 348

7.11.3 类属性 351

7.11.4 initonly字段 364

7.11.5 静态构造函数 366

7.13 练习 367

7.12 小结 367

8.1.1 析构函数的概念 369

8.1 类的析构函数 369

第8章 深入理解类 369

8.1.2 默认的析构函数 370

8.1.3 析构函数与动态内存分配 372

8.2 实现复制构造函数 375

8.3.1 定义联合 377

8.3 在变量之间共享内存 377

8.4 运算符重载 379

8.3.3 类和结构中的联合 379

8.3.2 匿名联合 379

8.4.1 实现重载的运算符 380

8.4.2 实现对运算符的完全支持 383

8.4.3 重载赋值运算符 387

8.4.4 重载加法运算符 392

8.5 类模板 396

8.4.5 重载递增和递减运算符 396

8.5.1 定义类模板 397

8.5.2 根据类模板创建对象 400

8.5.3 使用有多个形参的类模板 403

8.6.2 定义问题 405

8.6.1 类接口的概念 405

8.6 使用类 405

8.6.3 实现CBox类 406

8.6.4 定义CBox类 413

8.6.5 使用CBox类 423

8.7 组织程序代码 426

8.8 C++/CLI编程 428

8.8.1 在数值类中重载运算符 429

8.8.2 重载递增和递减运算符 434

8.8.3 在引用类中重载运算符 435

8.9 小结 437

8.10 练习 438

9.1 面向对象编程的基本思想 440

第9章 类继承和虚函数 440

9.2 类的继承 441

9.2.2 基类的派生类 442

9.2.1 基类的概念 442

9.3 继承机制下的访问控制 446

9.3.1 派生类中构造函数的操作 448

9.3.2 声明类的保护成员 452

9.3.3 继承类成员的访问级别 455

9.4 派生类中的复制构造函数 456

9.5 友元类成员 461

9.6 虚函数 462

9.5.2 对类友元关系的限制 462

9.5.1 友元类 462

9.6.1 虚函数的概念 465

9.6.2 使用指向类对象的指针 467

9.6.3 使用引用处理虚函数 469

9.6.4 纯虚函数 470

9.6.5 抽象类 471

9.6.6 间接基类 474

9.6.7 虚析构函数 476

9.7 类类型之间的强制转换 481

9.8 嵌套类 482

9.9 C++/CLI编程 485

9.9.1 C++/CLI类的继承 486

9.9.3 定义接口类 492

9.9.2 接口类 492

9.9.4 类和程序集 496

9.9.5 被指定为new的函数 501

9.9.6 委托和事件 502

9.9.7 引用类的析构函数和结束函数 514

9.9.8 通用类 516

9.10 小结 527

9.11 练习 528

第10章 调试技术 531

10.1 理解调试 531

10.1.1 程序故障 532

10.1.2 常见故障 533

10.2 基本的调试操作 534

10.2.1 设置断点 536

10.2.2 设置跟踪点 538

10.2.3 启动调试模式 538

10.2.4 修改变量的值 542

10.3 添加调试代码 542

10.3.1 使用断言 543

10.3.2 添加自己的调试代码 544

10.4 调试程序 549

10.4.1 调用堆栈 549

10.4.2 单步执行到出错位置 551

10.5 测试扩展的类 555

10.6 调试动态内存 558

10.6.1 检查自由存储器的函数 558

10.6.2 控制自由存储器的调试操作 559

10.6.3 自由存储器的调试输出 561

10.7 调试C++/CLI程序 566

10.8 小结 575

第11章 Windows编程的概念 576

11.1 Windows编程基础 576

11.1.1 窗口的元素 577

11.1.3 事件驱动型程序 579

11.1.4 Windows消息 579

11.1.2 Windows程序与操作系统 579

11.1.5 Windows API 580

11.1.6 Windows数据类型 580

11.1.7 Windows程序中的符号 581

11.2 Windows程序的结构 582

11.2.1 WinMain()函数 583

11.2.2 消息处理函数 594

11.2.3 简单的Windows程序 598

11.3 Windows程序的组织 600

11.4 MFC 601

11.4.1 MFC标记法 601

11.4.2 MFC程序的组织方式 602

11.5 使用Windows Forms 606

11.6 小结 608

12.1 MFC的文档/视图概念 609

12.1.1 文档的概念 609

第12章 使用MFC编写Windows程序 609

12.1.2 文档界面 610

12.1.3 视图的概念 610

12.1.4 连接文档和视图 611

12.1.5 应用程序和MFC 612

12.2 创建MFC应用程序 613

12.2.1 创建SDI应用程序 615

12.2.2 MFC Application wizard的输出 618

12.2.3 创建MDI应用程序 628

12.3 小结 630

12.4 练习 631

第13章 处理菜单和工具栏 632

13.1 与Windows进行通信 632

13.1.1 了解消息映射 633

13.1.2 消息类别 635

13.1.3 处理程序中的消息 636

13.2 扩充Sketcher程序 637

13.3 菜单的元素 638

13.4 为菜单消息添加处理程序 642

13.4.1 选择处理菜单消息的类 643

13.4.2 创建菜单消息函数 643

13.4.3 编写菜单消息函数的代码 646

13.4.4 添加更新用户界面的消息处理程序 650

13.5 添加工具栏按钮 653

13.5.1 编辑工具栏按钮的属性 654

13.5.2 练习使用工具栏按钮 655

13.5.3 添加工具提示 656

13.6 小结 656

13.7 练习题 657

第14章 在窗口中绘图 658

14.1 窗口绘图的基础知识 658

14.1.1 窗口客户区 659

14.1.2 Windows图形设备界面 659

14.2 Visual C++中的绘图机制 662

14.2.1 应用程序中的视图类 662

14.2.2 CDC类 663

14.3 实际绘制图形 671

14.4 对鼠标进行编程 673

14.4.1 鼠标发出的消息 673

14.4.2 鼠标消息处理程序 675

14.4.3 使用鼠标绘图 677

14.5 练习使用Sketcher程序 700

14.5.1 运行这个示例 700

14.5.2 捕获鼠标消息 701

14.6 小结 703

14.7 练习题 703

15.1 什么是集合类 705

15.1.1 集合的类型 705

第15章 创建文档和改进视图 705

15.1.2 类型安全的集合类 706

15.1.3 对象集合 706

15.1.4 类型化指针集合 715

15.2 使用CList模板类 717

15.2.1 绘制曲线 718

15.2.2 定义CCurve类 719

15.2.3 实现CCurve类 720

15.2.4 练习使用CCurve类 722

15.3 创建文档 723

15.4 改进视图 728

15.4.1 更新多个视图 728

15.4.2 滚动视图 730

15.4.3 使用MM_LOENGLISH映射模式 734

15.5 删除和移动形状 735

15.6 实现上下文菜单 736

15.6.1 关联菜单和类 737

15.6.2 选择上下文菜单 739

15.6.3 醒目显示元素 744

15.6.4 处理菜单消息 749

15.7 处理被屏蔽的元素 756

15.8 小结 757

15.9 练习 758

第16章 使用对话框和控件 759

16.1 理解对话框 759

16.2 理解控件 760

16.3 创建对话框资源 761

16.4 对话框的编程 764

16.4.1 添加对话框类 764

16.4.2 模态和非模态对话框 765

16.4.3 显示对话框 765

16.5 支持对话框控件 768

16.5.1 初始化控件 769

16.5.2 处理单选按钮消息 770

16.6 完成对话框的操作 771

16.6.2 给元素添加线宽 772

16.6.1 给文档类添加存储线宽的成员 772

16.6.3 在视图中创建元素 773

16.6.4 练习使用对话框 774

16.7.1 添加Scale菜单项和工具栏按钮 775

16.7 使用微调按钮控件 775

16.7.2 创建微调按钮 776

16.7.3 生成比例对话框类 777

16.7.4 显示微调按钮 780

16.8.1 可缩放的映射模式 781

16.8 使用比例系数 781

16.8.3 设置映射模式 783

16.8.2 设置文档的大小 783

16.8.4 同时实现滚动与缩放 785

16.9 使用状态栏 787

16.10.1 删除比例对话框 791

16.10 使用列表框 791

16.10.2 创建列表框控件 792

16.11.1 创建编辑框资源 795

16.11 使用编辑框控件 795

16.11.2 创建对话框类 796

16.11.3 添加Text菜单项 798

16.11.4 定义文本元素 799

16.11.5 实现CText类 800

16.11.6 创建文本元素 801

16.12 小结 803

16.13 练习 804

17.1 了解串行化 805

第17章 存储和打印文档 805

17.2.1 文档类定义中的串行化 806

17.2 串行化文档 806

17.2.2 文档类实现中的串行化 807

17.2.3 基于CObject的类的功能 809

17.2.4 串行化的工作方式 810

17.2.5 如何实现类的串行化 811

17.3.1 记录文档修改 812

17.3 应用串行化 812

17.3.2 串行化文档 813

17.3.3 串行化元素类 814

17.4 练习串行化 818

17.5 移动文本 819

17.6 打印文档 821

17.7 实现多页打印 824

17.7.2 存储打印数据 825

17.7.1 获取文档的总尺寸 825

17.7.3 准备打印 826

17.7.5 准备设备上下文 828

17.7.4 打印后的清除 828

17.7.6 打印文档 829

17.8 小结 833

17.7.7 获得文档的打印输出 833

17.9 练习题 834

18.1 了解DLL 835

第18章 编写自己的DLL 835

18.1.1 DLL的工作方式 836

18.1.2 DLL的内容 838

18.1.3 DLL变体 839

18.2 决定放入DLL的内容 840

18.3.1 编写和使用扩展DLL 841

18.3 编写DLL 841

18.3.2 从DLL中导出变量和函数 848

18.3.4 实现符号从DLL的导出 849

18.3.3 将符号导入程序 849

18.5 练习题 852

18.4 小结 852

19.1 数据库基础知识 853

第19章 连接到数据源 853

19.2 SQL 855

19.2.1 使用SQL检索数据 856

19.2.2 使用SQL连接表 857

19.3 MFC中的数据库支持 859

19.2.3 对记录进行排序 859

19.4.1 注册ODBC数据库 861

19.4 创建数据库应用程序 861

19.4.2 生成MFC ODBC程序 862

19.4.3 了解程序结构 865

19.4.4 示例练习 875

19.5 对记录集进行排序 876

19.6 使用另一个记录集对象 877

19.6.1 添加记录集类 878

19.6.2 添加记录集的视图类 880

19.6.3 定制记录集 884

19.6.4 访问多个表视图 887

19.6.5 查看产品的订单 892

19.7.1 添加客户记录集 893

19.7 查看客户的详细情况 893

19.7.3 创建客户视图类 894

19.7.2 创建客户对话框资源 894

19.7.4 添加过滤器 896

19.7.5 实现过滤器参数 898

19.7.6 链接订单对话框和客户对话框 899

19.9 练习题 902

19.8 小结 902

19.7.7 练习使用数据库查看器 902

20.1 更新操作 904

第20章 更新数据源 904

20.1.1 CRecordset更新操作 905

20.1.2 事务 907

20.2 简单的更新示例 908

20.3 管理更新过程 911

20.4.1 订单录入过程 922

20.4 向表中添加行 922

20.4.2 创建资源 923

20.4.4 创建记录集视图 924

20.4.3 创建记录集 924

20.4.5 给对话框资源添加控件 929

20.4.6 实现对话框切换 932

20.4.7 创建订单ID 936

20.4.8 存储订单数据 941

20.4.9 为订单选择产品 943

20.4.10 添加新订单 945

20.6 练习 950

20.5 小结 950

21.1 理解Windows Forms 952

第21章 使用Windows Forms的应用程序 952

21.2 理解Windows Forms应用程序  953

21.2.1 修改窗体的属性 954

21.2.2 如何启动应用程序 955

21.3 定制应用程序GUI 956

21.3.1 给窗体添加控件 957

21.3.2 添加选项卡控件 960

21.3.3 使用GroupBox控件 962

21.3.4 使用Button控件 964

21.3.5 使用WebBrowser控件 965

21.3.8 创建事件处理程序 967

21.3.7 添加上下文菜单 967

21.3.6 Winning应用程序的操作 967

21.3.10 创建对话框 974

21.3.9 处理Limits菜单的事件 974

21.3.11 使用对话框 979

21.3.12 添加第二个对话框 985

21.3.13 实现Help | About菜单项 992

21.3.14 处理按钮单击事件 993

21.3.15 响应上下文菜单 996

21.4 小结 1002

21.5 练习 1003

22.1 使用数据源 1004

第22章 在Windows Forms应用程序中访问数据源 1004

22.2 访问并显示数据 1005

22.3 使用DataGridView控件 1006

22.4 在无约束模式中使用DataGridView控件 1007

22.5 定制DataGridView控件 1012

22.5.2 定制非题头单元格 1014

22.5.1 定制题头单元格 1014

22.5.3 动态设置单元格样式 1020

22.6 使用约束模式 1026

22.7 BindingSource组件 1027

22.8 使用BindingNavigator控件 1031

22.9 绑定到单独的控件 1033

22.10 使用多个表 1037

22.11 小结 1038

22.12 练习 1039

A.1 ISO/ANSI C++关键字 1040

附录A C++关键字 1040

A.2 C++/CLI关键字 1041

附录B ASCII码 1042