《Visual C++ 2012入门经典 第6版》PDF下载

  • 购买积分:21 如何计算积分?
  • 作  者:(美)霍尔顿著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2013
  • ISBN:9787302319009
  • 页数:752 页
图书介绍:本书综合全面地介绍了标准C++语言和Visual C++,提供了逐步式的编程练习、例子,并巧妙引导新手程序员掌握C++开发来龙去脉与细节、精妙。

第1章 使用Visual C+编程 1

1.1使用Visual C++学习 1

1.2编写C++应用程序 2

1.3学习桌面应用程序的编程 2

1.3.1学习C+++ 3

1.3.2控制台应用程序 3

1.3.3 Wiindows编程概念 3

1.4集成开发环境简介 5

1.4.1编辑器 5

1.4.2编译器 5

1.4.3链接器 5

1.4.4库 6

1.5使用IDE 6

1.5.1工具栏选项 7

1.5.2可停靠的工具栏 8

1.5.3文档 8

1.5.4项目和解决方案 8

1.5.5设置Visual C+++的选项 16

1.5.6创建和执行Wiindows应用程序 17

1.6小结 19

1.7本章主要内容 19

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

2.1 C++程序结构 21

2.1.1 main()函数 28

2.1.2程序语句 28

2.1.3空白 30

2.1.4语句块 30

2.1.5自动生成的控制台程序 31

2.2定义变量 32

2.2.1命名变量 32

2.2.2声明变量 33

2.2.3变量的初始值 34

2.3基本数据类型 34

2.3.1整型变量 35

2.3.2字符数据类型 36

2.3.3整型修饰符 37

2.3.4布尔类型 38

2.3.5浮点类型 38

2.3.6 C+++中的基本类型 39

2.3.7字面值 39

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

2.4基本的输入\输出操作 41

2.4.1从键盘输入 41

2.4.2到命令行的输出 41

2.4.3格式化输出 42

2.4.4转义序列 43

2.5 C++中的计算 45

2.5.1赋值语句 45

2.5.2算术运算 45

2.5.3计算余数 50

2.5.4修改变量 50

2.5.5增量和减量运算符 51

2.5.6计算的顺序 53

2.6类型转换和类型强制转换 54

2.6.1赋值语句中的类型转换 55

2.6.2显式类型转换 56

2.6.3老式的类型强制转换 57

2.7 AUTO关键字 57

2.8类型的确定 58

2.9按位运算符 58

2.9.1按位AND运算符 58

2.9.2按位OR运算符 60

2.9.3按位EOR运算符 61

2.9.4按位NOT运算符 61

2.9.5移位运算符 61

2.10 lvalue和rvalue 63

2.11了解存储时间和作用域 64

2.11.1自动变量 64

2.11.2决定变量声明的位置 66

2.11.3全局变量 67

2.11.4静态变量 70

2.12具有特定值集的变量 70

2.12.1旧枚举 70

2.12.2类型安全的枚举 72

2.13名称空间 74

2.13.1声明名称空间 75

2.13.2多个名称空间 76

2.14小结 77

2.15 练习 77

2.16本章主要内容 78

第3章 判断和循环 79

3.1比较数据值 79

3.1.1 if语句 80

3.1.2嵌套的if语句 81

3.1.3嵌套的if-else语句 85

3.1.4逻辑运算符和表达式 87

3.1.5条件运算符 89

3.1.6 switch语句 91

3.1.7无条件转移 94

3.2重复执行语句块 95

3.2.1循环的概念 95

3.2.2 for循环的变体 97

3.2.3 while循环 104

3.2.4 do-while循环 106

3.2.5基于范围的循环 107

3.2.6嵌套的循环 107

3.3小结 110

3.4练习 110

3.5本章主要内容 111

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

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

4.1.1数组 113

4.1.2声明数组 114

4.1.3初始化数组 117

4.1.4使用基于范围的for循环 118

4.1.5字符数组和字符串处理 119

4.1.6多维数组 122

4.2间接数据访问 125

4.2.1指针的概念 125

4.2.2声明指针 125

4.2.3使用指针 126

4.2.4初始化指针 127

4.2.5 sizeof操作符 132

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

4.2.7指针和数组 136

4.3动态内存分配 142

4.3.1堆的别名——空闲存储器 142

4.3.2 new和delete操作符 142

4.3.3为数组动态分配内存 143

4.3.4多维数组的动态分配 146

4.4使用引用 146

4.4.1引用的概念 147

4.4.2声明并初始化Ivalue引用 147

4.4.3在基于范围的for循环中使用引用 148

4.4.4 rvalue引用 148

4.5字符串的库函数 149

4.5.1确定以空字符结尾的字符串的长度 149

4.5.2连接以空字符结尾的字符串 150

4.5.3复制以空字符结尾的字符串 151

4.5.4比较以空字符结尾的字符串 152

4.5.5搜索以空字符结尾的字符串 152

4.6小结 154

4.7练习 155

4.8本章主要内容 155

第5章 程序结构(1) 157

5.1理解函数 157

5.1.1需要函数的原因 158

5.1.2函数的结构 158

5.1.3替代的函数语法 161

5.1.4使用函数 161

5.2给函数传递实参 164

5.2.1按值传递机制 165

5.2.2给函数传递指针实参 166

5.2.3给函数传递数组 167

5.2.4给函数传递引用实参 171

5.2.5使用const修饰符 173

5.2.6 rvalue引用形参 174

5.2.7 main()函数的实参 176

5.2.8接受数量不定的函数实参 177

5.3从函数返回值 179

5.3.1返回指针 179

5.3.2返回引用 182

5.3.3函数中的静态变量 184

5.4递归函数调用 186

5.5小结 189

5.6练习 189

5.7本章主要内容 189

第6章 程序结构(2) 191

6.1函数指针 191

6.1.1声明函数指针 191

6.1.2函数指针作为实参 194

6.1.3函数指针的数组 196

6.2初始化函数形参 196

6.3异常 198

6.3.1抛出异常 199

6.3.2捕获异常 200

6.3.3重新抛出异常 201

6.3.4 MFC中的异常处理 202

6.4处理内存分配错误 203

6.5函数重载 204

6.5.1函数重载的概念 204

6.5.2引用类型和重载选择 207

6.5.3何时重载函数 207

6.6函数模板 208

6.7使用decltype操作符 210

6.8使用函数的示例 212

6.8.1实现计算器 212

6.8.2从字符串中删除空格 215

6.8.3计算表达式的值 216

6.8.4获得项值 218

6.8.5分析数 219

6.8.6整合程序 221

6.8.7扩展程序 223

6.8.8提取子字符串 224

6.8.9 运行修改过的程序 226

6.9小结 227

6.10练习 227

6.11本章主要内容 228

第7章 自定义数据类型 229

7.1 C++中的结构 229

7.1.1结构的概念 230

7.1.2定义结构 230

7.1.3初始化结构 230

7.1.4访问结构的成员 231

7.1.5伴随结构的智能感知帮助 234

7.1.6 RECT结构 235

7.1.7使用指针处理结构 236

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

7.2.1类的起源 239

7.2.2类的操作 239

7.2.3术语 240

7.3理解类 240

7.3.1定义类 240

7.3.2声明类的对象 241

7.3.3访问类的数据成员 241

7.3.4类的成员函数 243

7.3.5成员函数定义的位置 245

7.3.6 内联函数 245

7.4类构造函数 246

7.4.1构造函数的概念 247

7.4.2默认的构造函数 248

7.4.3默认的形参值 250

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

7.4.5声明显式的构造函数 253

7.5类的私有成员 254

7.5.1访问私有类成员 256

7.5.2类的友元函数 257

7.5.3默认复制构造函数 259

7.6 this指针 260

7.7类的const对象 263

7.7.1类的const成员函数 263

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

7.8类对象的数组 265

7.9类的静态成员 267

7.9.1类的静态数据成员 267

7.9.2类的静态函数成员 270

7.10类对象的指针和引用 270

7.10.1类对象的指针 270

7.10.2类对象的引用 273

7.11小结 274

7.12练习 274

7.13本章主要内容 275

第8章 深入理解类 277

8.1类析构函数 277

8.1.1析构函数的概念 277

8.1.2默认的析构函数 278

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

8.2实现复制构造函数 283

8.3在变量之间共享内存 284

8.3.1定义联合 285

8.3.2匿名联合 286

8.3.3类和结构中的联合 286

8.4运算符重载 287

8.4.1实现重载的运算符 287

8.4.2实现对比较运算符的完全支持 290

8.4.3重载赋值运算符 294

8.4.4重载加法运算符 299

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

8.4.6重载函数调用操作符 304

8.5对象复制问题 305

8.5.1避免不必要的复制操作 305

8.5.2应用rvalue引用形参 308

8.5.3命名的对象是lvalue 310

8.6默认的类成员 314

8.7类模板 315

8.7.1定义类模板 316

8.7.2根据类模板创建对象 318

8.7.3使用有多个形参的类模板 321

8.7.4函数对象模板 323

8.8完美转发 324

8.9使用类 327

8.9.1类接口的概念 327

8.9.2定义问题 327

8.9.3实现CBox类 328

8.10组织程序代码 343

8.11字符串的库类 345

8.11.1创建字符串对象 345

8.11.2连接字符串 346

8.11.3访问与修改字符串 350

8.11.4比较字符串 353

8.11.5搜索字符串 356

8.12小结 364

8.13练习 364

8.14本章主要内容 365

第9章 类继承和虚函数 367

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

9.2类的继承 368

9.2.1基类的概念 369

9.2.2基类的派生类 369

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

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

9.3.2声明类的保护成员 378

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

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

9.5禁止派生类 384

9.6友元类成员 385

9.6.1友元类 387

9.6.2对类友元关系的限制 387

9.7虚函数 387

9.7.1虚函数的概念 389

9.7.2确保虚函数的正确执行 391

9.7.3禁止重写函数 391

9.7.4使用指向类对象的指针 392

9.7.5使用引用处理虚函数 393

9.7.6 纯虚函数 395

9.7.7抽象类 395

9.7.8间接基类 398

9.7.9虚析构函数 400

9.8类类型之间的强制转换 403

9.9嵌套类 403

9.10小结 407

9.11练习 407

9.12本章主要内容 409

第10章 标准模板库 411

10.1标准模板库的定义 411

10.1.1容器 412

10.1.2容器适配器 414

10.1.3迭代器 414

10.2智能指针 415

10.3算法 418

10.4 STL中的函数对象 418

10.5 STL容器范围 419

10.6序列容器 419

10.6.1创建矢量容器 420

10.6.2矢量容器的容量和大小 423

10.6.3访问矢量中的元素 428

10.6.4在矢量中插入和删除元素 428

10.6.5在矢量中存储类对象 431

10.6.6排序矢量元素 436

10.6.7排序矢量中的指针 437

10.6.8双端队列容器 442

10.6.9使用列表容器 445

10.6.10使用forward list容器 454

10.6.11使用其他序列容器 456

10.6.12 tuple< >类模板 466

10.7关联容器 469

10.7.1使用映射容器 469

10.7.2使用多重映射容器 480

10.8关于迭代器的更多内容 481

10.8.1使用输入流迭代器 481

10.8.2使用插入迭代器 484

10.8.3使用输出流迭代器 485

10.9关于函数对象的更多内容 487

10.10关于算法的更多内容 488

10.10.1 fill() 489

10.10.2 replace() 489

10.10.3 find() 489

10.10.4 transform() 490

10.11类型特质和静态断言 491

10.12 λ表达式 492

10.12.1 capture子句 493

10.12.2捕获特定的变量 494

10.12.3模板和λ表达式 494

10.12.4包装λ表达式 498

10.13小结 500

10.14练习 500

10.15 本章主要内容 501

第11章Windows编程的概念 503

11.1 Windows编程基础 503

11.1.1窗口的元素 504

11.1.2 Windows程序与操作系统 505

11.1.3事件驱动型程序 505

11.1.4 Wiindows消息 506

11.1.5 Wiindows API 506

11.1.6 Wiindows数据类型 506

11.1.7 Wiindows程序中的符号 507

11.2 Windows程序的结构 508

11.2.1 WiinMain()函数 509

11.2.2消息处理函数 519

11.3 MFC 524

11.3.1 MFC表示法 524

11.3.2 MFC程序的组织方式 525

11.4小结 528

11.5本章主要内容 528

第12章 使用MFC编写Wiindows程序 531

12.1 MFC的文档/视图概念 531

12.1.1文档的概念 531

12.1.2文档界面 532

12.1.3视图的概念 532

12.1.4链接文档和视图 533

12.1.5应用程序和MFC 534

12.2创建MFC应用程序 535

12.2.1创建SDI应用程序 536

12.2.2 MFC Application Wiizard的输出 539

12.2.3创建MDI应用程序 548

12.3小结 549

12.4练习 550

12.5本章主要内容0 550

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

13.1与Windows进行通信 551

13.1.1了解消息映射 552

13.1.2消息类别 554

13.1.3处理程序中的消息 554

13.2扩展Sketcher程序 555

13.3菜单的元素 556

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

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

13.4.2创建菜单消息函数 560

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

13.4.4添加更新菜单消息的处理程序 565

13.5添加工具栏按钮 568

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

13.5.2练习使用工具栏按钮 570

13.5.3添加工具提示 571

13.6小结 571

13.7练习 571

13.8本章主要内容 571

第14章 在窗口中绘图 573

14.1窗口绘图的基础知识 573

14.1.1窗口工作区 573

14.1.2 Windows图形设备界面 574

14.2 MFC的绘图机制 576

14.2.1应用程序中的视图类 576

14.2.2 CDC类 577

14.3实际绘制图形 585

14.4对鼠标进行编程 587

14.4.1鼠标发出的消息 587

14.4.2鼠标消息处理程序 588

14.4.3使用鼠标绘图 590

14.5绘制草图 611

14.5.1运行示例 612

14.5.2捕获鼠标消息 612

14.6小结 613

14.7练习题 613

14.8本章主要内容 614

第15章 改进视图 615

15.1 Sketcher应用程序的缺陷 615

15.2改进视图 616

15.2.1更新多个视图 616

15.2.2滚动视图 617

15.2.3使用MM LOENGLISH映射模式 622

15.3删除和移动元素 622

15.4实现上下文菜单 623

15.4.1关联菜单和类 624

15.4.2选中上下文菜单项 625

15.5标识位于光标下的元素 626

15.5.1练习弹出菜单 627

15.5.2突出显示元素 627

15.5.3实现移动和删除功能 631

15.6处理屏蔽的元素 637

15.7小结 639

15.8练习 639

15.9本章主要内容 639

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

16.1理解对话框 641

16.2理解控件 642

16.3创建对话框资源 642

16.3.1给对话框添加控件 643

16.3.2测试对话框 644

16.4对话框的编程 644

16.4.1添加对话框类 644

16.4.2模态和非模态对话框 645

16.4.3显示对话框 646

16.5支持对话框控件 648

16.5.1初始化对话框控件 648

16.5.2处理单选按钮消息 649

16.6完成对话框的操作 650

16.6.1给文档添加线宽 651

16.6.2给元素添加线宽 651

16.6.3在视图中创建元素 653

16.6.4练习使用对话框 654

16.7使用微调按钮控件 655

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

16.7.2创建微调按钮 655

16.7.3生成比例对话框类 656

16.7.4显示微调按钮 659

16.8 使用缩放比例 660

16.8.1可缩放的映射模式 660

16.8.2设置文档的大小 661

16.8.3设置映射模式 662

16.8.4同时实现滚动与缩放 663

16.9使用状态栏 665

16.9.1给框架窗口添加状态栏 665

16.9.2 CString类 669

16.10使用编辑框控件 669

16.10.1创建编辑框资源 670

16.10.2创建对话框类 671

16.10.3添加Text菜单项 672

16.10.4定义文本元素 672

16.10.5实现CText类 673

16.11小结 677

16.12练习 678

16.13本章主要内容 678

第17章 存储和打印文档 679

17.1了解序列化 679

17.2序列化文档 680

17.2.1文档类定义中的序列化 680

17.2.2文档类实现中的序列化 681

17.2.3基于CObject的类的功能 683

17.2.4序列化的工作方式 684

17.2.5如何实现类的序列化 685

17.3应用序列化 685

17.3.1记录文档修改 686

17.3.2序列化文档 687

17.3.3序列化元素类 689

17.4练习序列化 693

17.5打印文档 694

17.6实现多页打印 697

17.6.1获取文档的总尺寸 698

17.6.2存储打印数据 698

17.6.3准备打印 699

17.6.4打印后的清除 700

17.6.5准备设备上下文 701

17.6.6打印文档 701

17.6.7获得文档的打印输出 705

17.7小结 705

17.8 练习 705

17.9本章主要内容 706

第18章 编写Windows 8应用程序 707

18.1理解Windows 8应用程序 707

18.2开发WINDOWS 8应用程序 708

18.3 Windows Runtime的概念 709

18.3.1 WinRT名称空间 709

18.3.2 WinRT对象 709

18.4 C++ COMPONENT EXTENSIONS(C++/CX) 710

18.4.1 C+++/CX名称空间 710

18.4.2定义WiinRT类类型 711

18.4.3 Ref类类型的变量 713

18.4.4访问ref类对象的成员 713

18.4.5事件处理函数 714

18.4.6转换ref类引用的类型 714

18.5 XAML 714

18.5.1 XAML元素 715

18.5.2 XAML中的UI元素 716

18.5.3附加属性 719

18.5.4父元素和子元素 719

18.5.5控件元素 719

18.5.6布局元素 720

18.5.7处理UI元素的事件 720

18.6创建Windows 8应用程序 721

18.6.1应用程序文件 721

18.6.2定义用户界面 722

18.6.3创建标题 724

18.6.4添加游戏控件 726

18.6.5创建包含纸牌的网格 727

18.6.6实现游戏的操作 732

18.6.7初始化Mainpage对象 735

18.6.8初始化一副纸牌 736

18.6.9建立cardGrid的子元素 736

18.6.10初始化游戏 738

18.6.11洗牌 740

18.6.12突出显示UI纸牌 741

18.6.13处理翻牌事件 741

18.6.14处理图形事件 743

18.6.15确认赢家 745

18.6.16处理游戏控件的按钮事件 746

18.7缩放UI元素 747

18.8平移 749

18.8.1应用程序的启动动画 749

18.8.2故事板动画 750

18.9小结 752

18.10本章主要内容 752