Visual C++2010入门经典 第5版PDF电子书下载
- 电子书积分:26 积分如何计算积分?
- 作 者:(美)IvorHorton著
- 出 版 社:北京:清华大学出版社
- 出版年份:2010
- ISBN:9787302239994
- 页数:1011 页
第1章 使用Visual C++ 2010编程 1
1.1 .NET Framework 1
1.2 CLR 2
1.3 编写C++应用程序 3
1.4 学习Windows编程 4
1.4.1 学习C++ 4
1.4.2 C++标准 5
1.4.3 属性 5
1.4.4 控制台应用程序 5
1.4.5 Windows编程概念 6
1.5 集成开发环境简介 7
1.5.1 编辑器 8
1.5.2 编译器 8
1.5.3 链接器 8
1.5.4 库 8
1.6 使用IDE 8
1.6.1 工具栏选项 9
1.6.2 可停靠的工具栏 10
1.6.3 文档 11
1.6.4 项目和解决方案 11
1.6.5 设置Visual C++ 2010的选项 23
1.6.6 创建和执行Windows应用程序 23
1.6.7 创建Windows Forms应用程序 26
1.7 小结 27
1.8 本章主要内容 28
第2章 数据、变量和计算 29
2.1 C++程序结构 29
2.1.1 main()函数 36
2.1.2 程序语句 36
2.1.3 空白 38
2.1.4 语句块 38
2.1.5 自动生成的控制台程序 39
2.2 定义变量 40
2.2.1 命名变量 40
2.2.2 声明变量 41
2.2.3 变量的初始值 42
2.3 基本数据类型 42
2.3.1 整型变量 43
2.3.2 字符数据类型 44
2.3.3 整型修饰符 45
2.3.4 布尔类型 46
2.3.5 浮点类型 46
2.3.6 字面值 47
2.3.7 定义数据类型的同义词 48
2.3.8 具有特定值集的变量 49
2.4 基本的输入/输出操作 50
2.4.1 从键盘输入 50
2.4.2 到命令行的输出 50
2.4.3 格式化输出 51
2.4.4 转义序列 52
2.5 C++中的计算 54
2.5.1 赋值语句 54
2.5.2 算术运算 55
2.5.3 计算余数 59
2.5.4 修改变量 60
2.5.5 增量和减量运算符 60
2.5.6 计算的顺序 63
2.6 类型转换和类型强制转换 64
2.6.1 赋值语句中的类型转换 65
2.6.2 显式类型转换 65
2.6.3 老式的类型强制转换 66
2.7 AUTO关键字 66
2.8 查看类型 67
2.9 按位运算符 67
2.9.1 按位AND运算符 68
2.9.2 按位OR运算符 69
2.9.3 按位EOR运算符 71
2.9.4 按位NOT运算符 71
2.9.5 移位运算符 71
2.10 lvalue和rvalue 73
2.11 了解存储时间和作用域 74
2.11.1 自动变量 74
2.11.2 决定变量声明的位置 76
2.11.3 全局变量 77
2.11.4 静态变量 80
2.12 名称空间 80
2.12.1 声明名称空间 81
2.12.2 多个名称空间 82
2.13 C++/CLI编程 84
2.13.1 C++/CLI特有的基本数据类型 84
2.13.2 命令行上的C++/CLI输出 87
2.13.3 C++/CLI特有的功能——格式化输出 88
2.13.4 C++/CLI的键盘输入 91
2.13.5 使用safe_cast 92
2.13.6 C++/CLI枚举 92
2.14 查看C++/CLI类型 96
2.15 小结 97
2.16 练习 97
2.17 本章主要内容 98
第3章 判断和循环 101
3.1 比较数据值 101
3.1.1 if语句 102
3.1.2 嵌套的if语句 104
3.1.3 嵌套的if-else语句 107
3.1.4 逻辑运算符和表达式 109
3.1.5 条件运算符 112
3.1.6 switch语句 113
3.1.7 无条件转移 116
3.2 重复执行语句块 117
3.2.1 循环的概念 117
3.2.2 for循环的变体 119
3.2.3 while循环 126
3.2.4 do-while循环 128
3.2.5 嵌套的循环 129
3.3 C++/CLI编程 132
3.4 小结 137
3.5 练习 138
3.6 本章主要内容 138
第4章 数组、字符串和指针 139
4.1 处理多个相同类型的数据值 139
4.1.1 数组 140
4.1.2 声明数组 140
4.1.3 初始化数组 143
4.1.4 字符数组和字符串处理 144
4.1.5 多维数组 147
4.2 间接数据访问 150
4.2.1 指针的概念 150
4.2.2 声明指针 150
4.2.3 使用指针 152
4.2.4 初始化指针 152
4.2.5 sizeof操作符 158
4.2.6 常量指针和指向常量的指针 159
4.2.7 指针和数组 161
4.3 动态内存分配 168
4.3.1 堆的别名——空闲存储器 168
4.3.2 new和delete操作符 168
4.3.3 为数组动态分配内存 169
4.3.4 多维数组的动态分配 171
4.4 使用引用 172
4.4.1 引用的概念 172
4.4.2 声明并初始化lvalue引用 172
4.4.3 声明并初始化rvalue引用 173
4.5 字符串的本地C++库函数 174
4.5.1 查找以空字符结尾的字符串的长度 174
4.5.2 连接以空字符结尾的字符串 174
4.5.3 复制以空字符结尾的字符串 176
4.5.4 比较以空字符结尾的字符串 177
4.5.5 搜索以空字符结尾的字符串 177
4.6 C++/CLI编程 179
4.6.1 跟踪句柄 180
4.6.2 CLR数组 181
4.6.3 字符串 195
4.6.4 跟踪引用 203
4.6.5 内部指针 204
4.7 小结 206
4.8 练习 206
4.9 本章主要内容 207
第5章 程序结构(1) 209
5.1 理解函数 209
5.1.1 需要函数的原因 210
5.1.2 函数的结构 210
5.1.3 使用函数 213
5.2 给函数传递实参 216
5.2.1 按值传递机制 216
5.2.2 给函数传递指针实参 217
5.2.3 给函数传递数组 219
5.2.4 给函数传递引用实参 222
5.2.5 使用const修饰符 224
5.2.6 rvalue引用形参 225
5.2.7 main()函数的实参 227
5.2.8 接受数量不定的函数实参 229
5.3 从函数返回值 231
5.3.1 返回指针 231
5.3.2 返回引用 233
5.3.3 函数中的静态变量 236
5.4 递归函数调用 238
5.5 C++/CLI编程 240
5.5.1 接受数量可变实参的函数 241
5.5.2 main()的实参 242
5.6 小结 243
5.7 练习 243
5.8 本章主要内容 244
第6章 程序结构(2) 245
6.1 函数指针 245
6.1.1 声明函数指针 246
6.1.2 函数指针作为实参 249
6.1.3 函数指针的数组 250
6.2 初始化函数形参 250
6.3 异常 252
6.3.1 抛出异常 253
6.3.2 捕获异常 254
6.3.3 MFC中的异常处理 255
6.4 处理内存分配错误 256
6.5 函数重载 257
6.5.1 函数重载的概念 258
6.5.2 引用类型和重载选择 260
6.5.3 何时重载函数 260
6.6 函数模板 261
6.7 使用decltype操作符 263
6.8 使用函数的示例 265
6.8.1 实现计算器 265
6.8.2 从字符串中删除空格 268
6.8.3 计算表达式的值 268
6.8.4 获得项值 270
6.8.5 分析数 271
6.8.6 整合程序 274
6.8.7 扩展程序 275
6.8.8 提取子字符串 277
6.8.9 运行修改过的程序 279
6.9 C++/CLI编程 279
6.9.1 理解泛型函数 280
6.9.2 CLR版本的计算器程序 285
6.10 小结 290
6.11 练习 291
6.12 本章主要内容 292
第7章 自定义数据类型 293
7.1 C++中的结构 293
7.1.1 结构的概念 294
7.1.2 定义结构 294
7.1.3 初始化结构 294
7.1.4 访问结构的成员 295
7.1.5 伴随结构的智能感知帮助 298
7.1.6 RECT结构 299
7.1.7 使用指针处理结构 300
7.2 数据类型、对象、类和实例 301
7.2.1 类的起源 303
7.2.2 类的操作 303
7.2.3 术语 303
7.3 理解类 304
7.3.1 定义类 304
7.3.2 声明类的对象 305
7.3.3 访问类的数据成员 305
7.3.4 类的成员函数 307
7.3.5 成员函数定义的位置 309
7.3.6 内联函数 309
7.4 类构造函数 310
7.4.1 构造函数的概念 311
7.4.2 默认的构造函数 312
7.4.3 在类定义中指定默认的形参值 314
7.4.4 在构造函数中使用初始化列表 316
7.4.5 声明显式的构造函数 317
7.5 类的私有成员 318
7.5.1 访问私有类成员 320
7.5.2 类的友元函数 321
7.5.3 默认复制构造函数 323
7.6 this指针 325
7.7 类的const对象 327
7.7.1 类的const成员函数 327
7.7.2 类外部的成员函数定义 328
7.8 类对象的数组 329
7.9 类的静态成员 331
7.9.1 类的静态数据成员 331
7.9.2 类的静态函数成员 334
7.10 类对象的指针和引用 334
7.10.1 类对象的指针 334
7.10.2 类对象的引用 337
7.11 C++/CLI编程 338
7.11.1 定义值类类型 339
7.11.2 定义引用类类型 344
7.11.3 定义引用类类型的复制构造函数 346
7.11.4 类属性 346
7.11.5 initonly字段 358
7.11.6 静态构造函数 360
7.12 小结 360
7.13 练习 360
7.14 本章主要内容 361
第8章 深入理解类 363
8.1 类析构函数 363
8.1.1 析构函数的概念 363
8.1.2 默认的析构函数 364
8.1.3 析构函数与动态内存分配 366
8.2 实现复制构造函数 369
8.3 在变量之间共享内存 370
8.3.1 定义联合 371
8.3.2 匿名联合 372
8.3.3 类和结构中的联合 372
8.4 运算符重载 373
8.4.1 实现重载的运算符 373
8.4.2 实现对比较运算符的完全支持 376
8.4.3 重载赋值运算符 379
8.4.4 重载加法运算符 384
8.4.5 重载递增和递减运算符 387
8.4.6 重载函数调用操作符 388
8.5 对象复制问题 389
8.5.1 避免不必要的复制操作 389
8.5.2 应用rvalue引用形参 392
8.5.3 命名的对象是lvalue 394
8.6 类模板 399
8.6.1 定义类模板 400
8.6.2 根据类模板创建对象 402
8.6.3 使用有多个形参的类模板 405
8.6.4 函数对象模板 406
8.7 使用类 407
8.7.1 类接口的概念 407
8.7.2 定义问题 407
8.7.3 实现CBox类 408
8.8 组织程序代码 425
8.9 字符串的本地C++库类 427
8.9.1 创建字符串对象 427
8.9.2 连接字符串 429
8.9.3 访问与修改字符串 432
8.9.4 比较字符串 436
8.9.5 搜索字符串 439
8.10 C++/CLI编程 447
8.10.1 在值类中重载运算符 447
8.10.2 重载递增和递减运算符 452
8.10.3 在引用类中重载运算符 453
8.10.4 实现引用类型的赋值运算符 455
8.11 小结 456
8.12 练习 456
8.13 本章主要内容 457
第9章 类继承和虚函数 459
9.1 面向对象编程的基本思想 459
9.2 类的继承 460
9.2.1 基类的概念 461
9.2.2 基类的派生类 461
9.3 继承机制下的访问控制 464
9.3.1 派生类中构造函数的操作 467
9.3.2 声明类的保护成员 470
9.3.3 继承类成员的访问级别 473
9.4 派生类中的复制构造函数 474
9.5 友元类成员 477
9.5.1 友元类 479
9.5.2 对类友元关系的限制 479
9.6 虚函数 479
9.6.1 虚函数的概念 481
9.6.2 使用指向类对象的指针 483
9.6.3 使用引用处理虚函数 485
9.6.4 纯虚函数 486
9.6.5 抽象类 487
9.6.6 间接基类 489
9.6.7 虚析构函数 491
9.7 类类型之间的强制转换 494
9.8 嵌套类 495
9.9 C++/CLI编程 498
9.9.1 装箱与拆箱 499
9.9.2 C++/CLI类的继承 499
9.9.3 接口类 505
9.9.4 定义接口类 505
9.9.5 类和程序集 509
9.9.6 被指定为new的函数 513
9.9.7 委托和事件 514
9.9.8 引用类的析构函数和终结器 525
9.9.9 泛型类 527
9.10 小结 536
9.11 练习 536
9.12 本章主要内容 539
第10章 标准模板库 541
10.1 标准模板库的定义 541
10.1.1 容器 542
10.1.2 容器适配器 542
10.1.3 迭代器 543
10.1.4 算法 544
10.1.5 STL中的函数对象 545
10.1.6 函数适配器 545
10.2 STL容器范围 545
10.3 序列容器 545
10.3.1 创建矢量容器 546
10.3.2 矢量容器的容量和大小 549
10.3.3 访问矢量中的元素 553
10.3.4 在矢量中插入和删除元素 553
10.3.5 在矢量中存储类对象 555
10.3.6 排序矢量元素 559
10.3.7 排序矢量中的指针 560
10.3.8 双端队列容器 562
10.3.9 使用列表容器 565
10.3.10 使用其他序列容器 574
10.4 关联容器 588
10.4.1 使用映射容器 589
10.4.2 使用多重映射容器 600
10.5 关于迭代器的更多内容 600
10.5.1 使用输入流迭代器 601
10.5.2 使用插入迭代器 604
10.5.3 使用输出流迭代器 605
10.6 关于函数对象的更多内容 607
10.7 关于算法的更多内容 608
10.7.1 fill() 608
10.7.2 replace() 609
10.7.3 find() 609
10.7.4 transform() 610
10.8 lambda表达式 611
10.8.1 capture子句 612
10.8.2 捕获特定的变量 613
10.8.3 模板和lambda表达式 613
10.8.4 包装lambda表达式 617
10.9 C++/CLI程序的STL 618
10.9.1 STL/CLR容器 619
10.9.2 使用序列容器 619
10.9.3 使用关联容器 627
10.10 C++/CLI中的lambda表达式 633
10.11 小结 633
10.12 练习 633
10.13 本章主要内容 634
第11章 调试技术 635
11.1 理解调试 635
11.1.1 程序故障 636
11.1.2 常见故障 637
11.2 基本的调试操作 638
11.2.1 设置断点 639
11.2.2 设置跟踪点 641
11.2.3 启动调试模式 641
11.2.4 修改变量的值 645
11.3 添加调试代码 645
11.3.1 使用断言 645
11.3.2 添加自己的调试代码 647
11.4 调试程序 652
11.4.1 调用栈 652
11.4.2 单步执行到出错位置 653
11.5 测试扩展的类 656
11.6 调试动态内存 659
11.6.1 检查空闲存储器的函数 660
11.6.2 控制空闲存储器的调试操作 661
11.6.3 空闲存储器的调试输出 662
11.7 调试C++/CLI程序 668
11.7.1 使用调试类Debug和跟踪类Trace 668
11.7.2 在Windows Forms应用程序中获得跟踪输出 676
11.8 小结 677
11.9 本章主要内容 677
第12章 Windows编程的概念 679
12.1 Windows编程基础 679
12.1.1 窗口的元素 680
12.1.2 Windows程序与操作系统 681
12.1.3 事件驱动型程序 682
12.1.4 Windows消息 682
12.1.5 Windows API 682
12.1.6 Windows数据类型 683
12.1.7 Windows程序中的符号 684
12.2 Windows程序的结构 685
12.2.1 WinMain()函数 686
12.2.2 消息处理函数 696
12.2.3 简单的Windows程序 700
12.3 Windows程序的组织 701
12.4 MFC 702
12.4.1 MFC表示法 702
12.4.2 MFC程序的组织方式 702
12.5 使用Windows Forms 706
12.6 小结 707
12.7 本章主要内容 707
第13章 多核编程 709
13.1 并行处理基本知识 709
13.2 并行模式库 710
13.3 并行处理算法 710
13.3.1 使用parallel_for算法 710
13.3.2 使用parallel_for_each算法 712
13.3.3 使用parallel_invoke算法 714
13.4 真正的并行问题 715
13.5 临界区 728
13.5.1 使用critical_section对象 728
13.5.2 锁定代码节或解除代码节锁定 729
13.6 combinable类模板 731
13.7 任务和任务组 733
13.8 小结 736
13.9 练习 736
13.10 本章主要内容 736
第14章 使用MFC编写Windows程序 739
14.1 MFC的文档/视图概念 739
14.1.1 文档的概念 739
14.1.2 文档界面 740
14.1.3 视图的概念 740
14.1.4 链接文档和视图 741
14.1.5 应用程序和MFC 742
14.2 创建MFC应用程序 743
14.2.1 创建SDI应用程序 745
14.2.2 MFC Application Wizard的输出 748
14.2.3 创建MDI应用程序 757
14.3 小结 760
14.4 练习 760
14.5 本章主要内容 760
第15章 处理菜单和工具栏 763
15.1 与Windows进行通信 763
15.1.1 了解消息映射 764
15.1.2 消息类别 767
15.1.3 处理程序中的消息 767
15.2 扩展Sketcher程序 768
15.3 菜单的元素 769
15.4 为菜单消息添加处理程序 771
15.4.1 选择处理菜单消息的类 773
15.4.2 创建菜单消息函数 773
15.4.3 编写菜单消息函数的代码 775
15.4.4 添加更新用户界面的消息处理程序 778
15.5 添加工具栏按钮 781
15.5.1 编辑工具栏按钮的属性 782
15.5.2 练习使用工具栏按钮 783
15.5.3 添加工具提示 784
15.6 C++/CLI程序中的菜单和工具栏 785
15.6.1 理解Windows Forms 785
15.6.2 理解Windows Forms应用程序 786
15.6.3 在CLR Sketcher中添加菜单 788
15.6.4 添加菜单项的事件处理程序 790
15.6.5 实现事件处理程序 791
15.6.6 设置菜单项复选 792
15.6.7 添加工具栏 793
15.7 小结 797
15.8 练习 797
15.9 本章主要内容 797
第16章 在窗口中绘图 799
16.1 窗口绘图的基础知识 799
16.1.1 窗口工作区 800
16.1.2 Windows图形设备界面 800
16.2 Visual C++中的绘图机制 802
16.2.1 应用程序中的视图类 802
16.2.2 CDC类 803
16.3 实际绘制图形 811
16.4 对鼠标进行编程 813
16.4.1 鼠标发出的消息 813
16.4.2 鼠标消息处理程序 814
16.4.3 使用鼠标绘图 816
16.5 练习使用Sketcher程序 837
16.5.1 运行示例 838
16.5.2 捕获鼠标消息 838
16.6 在CLR中绘图 840
16.6.1 在窗体上绘图 840
16.6.2 添加鼠标事件处理程序 840
16.6.3 定义C++/CLI元素类 842
16.6.4 实现MouseMove事件处理程序 850
16.6.5 实现MouseUp事件处理程序 851
16.6.6 实现窗体的Paint事件处理程序 851
16.7 小结 852
16.8 练习 852
16.9 本章主要内容 853
第17章 创建文档和改进视图 855
17.1 创建草图文档 855
17.2 改进视图 859
17.2.1 更新多个视图 859
17.2.2 滚动视图 861
17.2.3 使用MM_LOENGLISH映射模式 865
17.3 删除和移动形状 866
17.4 实现上下文菜单 866
17.4.1 关联菜单和类 867
17.4.2 练习弹出菜单 870
17.4.3 突出显示元素 870
17.4.4 处理菜单消息 874
17.5 处理屏蔽的元素 881
17.6 扩展CLR Sketcher 882
17.6.1 坐标系统转换 882
17.6.2 定义草图类 885
17.6.3 在Paint事件处理程序中绘制草图 886
17.6.4 实现元素的突出显示 887
17.6.5 创建上下文菜单 891
17.7 小结 897
17.8 练习 897
17.9 本章主要内容 898
第18章 使用对话框和控件 899
18.1 理解对话框 899
18.2 理解控件 900
18.3 创建对话框资源 900
18.3.1 给对话框添加控件 901
18.3.2 测试对话框 902
18.4 对话框的编程 902
18.4.1 添加对话框类 902
18.4.2 模态和非模态对话框 903
18.4.3 显示对话框 903
18.5 支持对话框控件 906
18.5.1 初始化控件 906
18.5.2 处理单选按钮消息 907
18.6 完成对话框的操作 908
18.6.1 给文档添加线宽 908
18.6.2 给元素添加线宽 909
18.6.3 在视图中创建元素 910
18.6.4 练习使用对话框 910
18.7 使用微调按钮控件 911
18.7.1 添加Scale菜单项和工具栏按钮 911
18.7.2 创建微调按钮 911
18.7.3 生成比例对话框类 913
18.7.4 显示微调按钮 915
18.8 使用缩放比例 916
18.8.1 可缩放的映射模式 916
18.8.2 设置文档的大小 917
18.8.3 设置映射模式 918
18.8.4 同时实现滚动与缩放 919
18.9 使用CTaskDialog类 921
18.9.1 显示任务对话框 921
18.9.2 创建CTaskDialog对象 923
18.10 使用状态栏 925
18.11 使用列表框 929
18.11.1 删除比例对话框 929
18.11.2 创建列表框控件 929
18.12 使用编辑框控件 931
18.12.1 创建编辑框资源 931
18.12.2 创建对话框类 933
18.12.3 添加Text菜单项 934
18.12.4 定义文本元素 935
18.12.5 实现CText类 935
18.13 CLR Sketcher中的对话框和控件 940
18.13.1 添加对话框 940
18.13.2 创建文本元素 946
18.14 小结 953
18.15 练习 953
18.16 本章主要内容 953
第19章 存储和打印文档 955
19.1 了解序列化 955
19.2 序列化文档 956
19.2.1 文档类定义中的序列化 956
19.2.2 文档类实现中的序列化 957
19.2.3 基于CObject的类的功能 959
19.2.4 序列化的工作方式 960
19.2.5 如何实现类的序列化 961
19.3 应用序列化 961
19.3.1 记录文档修改 962
19.3.2 序列化文档 963
19.3.3 序列化元素类 965
19.4 练习序列化 968
19.5 打印文档 969
19.6 实现多页打印 972
19.6.1 获取文档的总尺寸 973
19.6.2 存储打印数据 973
19.6.3 准备打印 974
19.6.4 打印后的清除 976
19.6.5 准备设备上下文 976
19.6.6 打印文档 977
19.6.7 获得文档的打印输出 980
19.7 CLR Sketcher中的序列化和打印 981
19.7.1 了解二进制序列化 981
19.7.2 序列化草图 985
19.7.3 打印草图 995
19.8 小结 996
19.9 练习 996
19.10 本章主要内容 997
第20章 编写自己的DLL 999
20.1 了解DLL 999
20.1.1 DLL的工作方式 1000
20.1.2 DLL的内容 1003
20.1.3 DLL变体 1003
20.2 决定放入DLL的内容 1004
20.3 编写DLL 1005
20.4 小结 1011
20.5 练习 1011
20.6 本章主要内容 1011
- 《国学经典诵读》(中国)严琼燕 2019
- 《优势谈判 15周年经典版》(美)罗杰·道森 2018
- 《HTML5从入门到精通 第3版》(中国)明日科技 2019
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《日本面包师的经典配方》马妍责任编辑;王森 2019
- 《清至民国中国西北戏剧经典唱段汇辑 第8卷》孔令纪 2018
- 《小提琴经典练习曲简编 沃尔法特》丁芷诺,杨宝智 2019
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《经典沐心 第2卷 智慧卷》宋伟 2016
- 《Python3从入门到实战》董洪伟 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019