《Visual C++实用编程技术 从C++、面向对象到窗口程序设计》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:位元文化编著
  • 出 版 社:武汉:华中理工大学出版社
  • 出版年份:1999
  • ISBN:7560920608
  • 页数:491 页
图书介绍:

1.1小心错误的概念 1

1.2面向对象概念与C++ 1

1.2.1思维程序设计 1

第1章 面向对象的基本概念 1

1.2.2面向对象思维 2

1.3面向对象概念入门 2

1.3.1对象 2

1.3.2类 3

1.3.3信息 3

1.3.4继承 3

1.4程序的基本概念 4

2.1 Hello C++程序 5

第2章Hello C++! 5

2.2程序注解的使用 6

2.2.1什么是程序注解? 6

2.2.2区段注解 6

2.2.3单行注解 6

2.3载入头文件 7

2.4类的建立 7

2.4.1定义类 7

2.4.2定义属性 8

2.4.3定义方法 8

2.8信息—调用对象的方法 9

2.7建立对象 9

2.5数据的输出—cout对象 9

2.6 main()主程序 9

第3章 变量、数据类型与常量 11

3.1什么是变量 11

3.2数据类型 11

3.2.1整数 12

3.2.2浮点数 12

3.2.3字符 12

3.3给变量一个好名字—匈牙利命名法 13

3.4变量的输入与起始值设定 14

3.4.1变量的输入 14

3.6自定义常量 15

3.6.1常量 15

3.5变量的有效范围 15

3.4.2起始值的设定 15

3.6.2常量的自定义 16

3.6.3const常量 17

第4章 运算符 18

4.1名词解释 18

4.2指派运算符“=”的迷惑 18

4.3算术运算符 19

4.4比较运算符 19

4.5逻辑运算符 20

4.6++、--与sizeof运算符 23

4.7运算符的优先顺序 24

4.8.1自动类型转换的规则 25

4.8运算式中的类型转换 25

4.8.2强制类型转换 26

第5章 数据输出/输入与格式控制 27

5.1数据的输入—cin对象 27

5.2数据输出格式控制 28

第6章 流程控制 30

6.1判断式与循环 30

6.1.1判断式 30

6.1.2循环 30

6.2 if...elseif...else判断式 31

6.2.1 if判断式 31

6.2.2 if...else判断式 32

6.2.3 if...else if...else判断式 33

6.3 switch...case判断式 36

6.4 for循环 38

6.5 while循环 42

6.6 do...while循环 45

6.7 break、continue、goto语句 48

6.7.1 break语句 48

6.7.2 continue语句 49

6.7.3 goto语句 50

第7章 数组与字符串 53

7.1什么是数组 53

7.2一维数组的使用 53

7.2.1定义数组 53

7.2.4数组元素的存取 54

7.2.2设定起始值 54

7.2.3数组的储存 54

7.2.5小心出错 56

7.3二维数组的使用 56

7.3.1定义二维数组 56

7.3.2二维数组元素的存取 57

7.3.3二维数组的起始值设定 57

7.4多维数组 59

7.5字符串变量 60

第8章 指针 62

8.1变量的家 62

8.1.1变量住在 62

8.1.2 运算符 62

8.2.2指针的使用 64

8.2指针的定义与使用 64

8.2.1指针的定义 64

8.2.3起始值的设定 65

8.2.4将数据放进指针指向的地址里 66

8.2.5指针为何要定义数据类型 67

8.3指针的指针 67

8.4用new运算符设定指针起始值 69

第9章 函数 71

9.1函数与程序有什么关系? 71

9.2函数的建立 72

9.2.1函数的执行 72

9.2.4函数的原型定义与参数值的默认 73

9.2.2函数的建立 73

9.2.3函数的调用 73

9.3参数的传递 76

9.3.1传值调用(call by value) 77

9.3.2传址调用(call by address) 78

9.3.3传引用调用(call by reference) 80

9.3.4为何要有传地址与传引用 82

9.3.5到底哪一个好 82

第10章 指针与数组、字符串、函数的关系 83

10.1指针与数组 83

10.1.1VS指针 83

10.1.2指向数组的指针 88

10.2.1用指针定义字符串变量 89

10.2字符串数组 89

10.2.2储存字符串的数组 91

10.3指针、数组与函数 93

10.4指针、字符串与函数 95

第11章 动态内存的配置 97

11.1利用new动态定义数组的大小 97

11.1.1数组的遗憾 97

11.1.2动态定义数组大小 97

11.1.3释放内存 98

11.2 动态二维数组与指针的指针 99

第12章 软件革命—面向对象 104

12.1电脑的虚拟世界 104

12.2.2模拟世界的动态与静态 105

12.2面向对象思维如何模拟世界 105

12.2.1面向对象的抽象化 105

12.3面向对象系统的运作机制 106

第13章 类与对象 107

13.1数据隐藏 107

13.2建立类与对象 107

13.2.1类的建立 107

13.2.2对象的建立与使用 109

13.3存取权限的控制 111

13.3.1类成员的分级 111

13.3.2const的使用 113

13.4对象的生命期 116

13.4.1对象的产生—构造函数 117

13.4.2对象状态的改变 124

13.4.3对象的消失—析构函数 126

13.5类的成员 129

13.5.1对象成员VS类的成员 129

13.5.2静态属性 130

13.5.3静态成员函数 130

13.6指针与对象 132

13.6.1对象的指针 132

13.6.2动态配置对象内存 134

13.7对象参数的传递 136

13.7.1对象参数的传入与返回 136

13.7.2this指针的使用 138

13.8.1运算的多元性 141

13.8 类的运算 141

13.8.2重载“=”运算符 142

13.8.3重载“+”运算符 146

13.8.4重载“[]”运算符 149

13.8.5类型转换与类 149

13.9友元类与友元函数 153

13.9.1友元类 153

13.9.2友元函数 155

第14章 类继承与组合—程序代码的再利用 157

14.1继承的意义 157

14.1.1名词解释 157

14.1.4继承对系统发展的意义 158

14.1.2分类的角度 158

14.1.3遗传的角度 158

14.2 C++的继承机制 159

14.2.1 C++是怎样做到的 159

14.2.2继承的三种方式—public、protected、private 160

14.2.3属性与继承 165

14.2.4继承与成员函数 167

14.2.5继承与对象的初始值设定 170

14.2.6类成员的继承 176

14.2.7friend的继承 178

14.2.8基础类与衍生类的类型转换 179

14.3.1多重类的继承 181

14.3多重继承 181

14.3.2类的虚拟继承 185

14.4组合 189

14.4.1组合的意义与完成机制 189

14.4.2以对象变量建立组合关系 193

14.4.3以对象引用(指针)建立组合关系 196

第15章 信息一对象间的交谈 201

15.1信息的多态性(Polymorphism) 201

15.1.1信息在面向对象系统中的角色 201

15.1.2信息多态性的建立机制 202

15.2重载与再定义—静态的多态性 204

15.2.1函数的重载 204

15.3.1动态链接与继承 207

15.2.2函数的再定义 207

15.3动态链接的使用—动态的多态性 207

15.3.2 C++的动态链接机制—虚拟函数 208

15.3.3虚拟析构函数 214

15.3.4对象指针数组 215

第16章 模板(TEMPLATE) 219

16.1模板的概念 219

16.1.1链接列表 219

16.1.2模板类 223

16.2模板函数 227

16.3多参数模板 228

17.1简介数据流 231

17.1.1什么是数据流 231

第17章 数据流与文件的输出/输入 231

17.1.2数据流类 232

17.2数据流的控制 232

17.2.1数据流的格式控制 232

17.2.2格式标志 233

17.2.3计算符 235

17.2.4函数 236

17.2.5常用的输出/输入函数 237

17.2.6自定义类的输出/输入 239

17.2.7数据流的错误侦测 240

17.3.1 fstream类 242

17.3文件的输出/输入 242

17.3.2格式化文字模式的文件I/O 245

17.3.3二进制模式的文件I/O 247

17.3.4文件指针的使用 249

17.3.5利用文件储存对象 254

第18章 ANSI/ISO C++标准的新增语法 257

18.1 namespace 257

18.1.1为何要有namespace 257

18.1.2 namespace的定义与使用 257

18.2新的头文件载入方式 259

18.3执行时间类型信息—RTTI(Run-Time Type Information) 260

18.4类型转换 261

21.6 Document/View的基本结构 265

18.5 bool、mutable与explicit构造函数 267

18.6.2字符串对象的操作 269

18.6标准字符串类 269

18.6.1简介标准字符串类 269

18.7.1简介例外处理 273

18.7例外处理 273

18.7.2例外处理的机制 274

18.7.3函数的例外处理 275

18.7.4例外对象 278

18.7.5多重例外处理 280

18.7.6标准例外处理类 281

第19章 标准模板程序库(STANDARD TEMPLATE LIBRARY) 283

19.1认识STL 283

19.1.1什么是STL 283

19.2容器与指位器 284

19.2.1容器 284

19.2.2指位器 285

19.3序列容器 287

19.3.1vector 287

19.3.2deque 290

19.3.3list 293

19.4关联容器 296

19.4.1set与multiset 296

19.4.2map与multimap 299

19.5算法 302

19.5.1算法的介绍 302

19.5.2数据编辑算法 303

19.5.3搜寻算法 305

19.5.4比较算法 306

19.5.5排序相关算法 308

19.5.6计算算法 309

19.6函数对象 311

19.6.1函数对象的应用 311

19.6.2 STL提供的函数对象 312

19.6.3自定义函数对象 314

19.7适配器 316

19.7.1简介适配器 316

19.7.2stack容器 317

19.7.3queue容器 318

19.7.4priority_queue容器 320

19.7.5倒转指位器 322

19.7.6插入指位器 324

第20章 多文件程序的建立与图书管理系统范例 326

20.1建立多文件程序 326

20.1.1为何要建立多文件程序 326

20.1.2如何建立一个多文件程序 326

20.2图书管理系统的开发 328

20.2.1系统的开发过程 328

20.2.2图书管理系统的分析与设计 329

20.3图书管理系统的建立 335

20.3.1系统的结构 335

20.3.2主程序、Object与LibraryObject类 335

20.3.3 Librarian类 337

20.3.4 Book类 341

20.3.5 Reader类 342

20.3.6 Database类 344

第21章 窗口程序的基本概念 348

21.1窗口程序的运作机制 348

21.1.1事件、信息与窗口运作 348

21.2.1什么是Application Frameworks 349

21.1.2窗口的基本构造 349

21.2如何编写窗口程序 349

21.1.3资源的概念 349

21.2.2AF与面向对象 350

21.2.3MFC的类继承层次 350

21.3.2 Hello MFC程序范例 351

21.3.1建立窗口程序的基本概念 351

21.3 Hello MFC!—第一个窗口程序 351

21.3.3 CWndApp类与程序进入点 352

21.3.4窗口框架对象 352

21.4.1自定义窗口框架对象 355

21.4建立自定义窗口 355

21.4.2 MyFrame程序范例 356

21.4.3自定义窗口框架与资源文件的建立 357

21.4.4菜单的操作 358

21.5窗口信息处理与绘图 358

21.5.1窗口信息的传递与处理 358

21.5.2建立信息映射表与设备上下文的程序范例 360

21.5.4利用鼠标绘图 362

21.5.3信息映射表与回应函数的建立 362

21.5.5信息方框的使用与窗口的破坏 363

21.6.1什么是Document/View结构 365

21.6.2建立以Document/View为框架的窗口应用程序 366

21.6.3 Document/View的框架与建立过程 367

21.6.4文件模板类的应用 369

21.6.5 CView类的使用 370

21.6.6 CDocument类的使用 370

21.7 Document/View框架的应用 370

21.7.1窗口的重绘 370

21.7.2repaint程序范例 371

21.7.3 Document/View的运作机制 374

21.7.4窗口的重绘 375

第22章 菜单、工具栏、状态栏、加速键、图标 376

22.1菜单的建立 376

22.1.1简介菜单 376

22.1.2menu程序范例 377

22.1.3菜单的建立与设定 382

22.1.4菜单的切换 382

22.1.6修改系统菜单与建立弹出式菜单 388

22.2 UPDATE_COMMAND_UI信息 388

22.2.1什么是UPDATE_COMMAND_UI信息 388

22.2.2 COMMAND_UI程序范例 389

22.2.3 UPDATE_COMMAND_UI信息的接收与回应 391

22.2.4 U1元件的修改 391

22.3快捷键的建立 392

22.4.1工具栏、状态行与字符串表的使用 393

22.4.2 controlbar程序范例 393

22.4 工具栏、状态行与字符串表 393

22.4.3工具栏的建立 396

22.4.4状态行的建立 400

22.4.5字符串表的建立 403

22.5使用图标、位图与光标资源 403

22.5.1图标、位图与光标资源的用途 403

22.5.2resource程序范例 404

22.5.3图标资源的使用 406

22.5.4位图资源的使用 407

22.5.5鼠标光标资源的使用 407

22.6.1 painter的窗口界面 408

22.6建立painter的窗口界面 408

22.6.2 painter1程序内容 409

22.6.3 painter1的程序结构 413

22.6.4 painter1的自定义类说明 414

22.6.5控制工具栏的隐藏与显示 416

第23章 绘图的基本概念 417

23.1窗口的基本图形原理 417

23.1.1图形设备接口(Graphics Device Interface) 417

23.1.2设备上下文(Device Context) 417

23.1.3颜色的定义 418

23.1.4MFC的GDI类 418

23.1.6建立画刷对象 419

23.1.5建立画笔对象 419

23.2 CDC类的介绍 420

23.2.1 CDC类的衍生类 420

23.2.2 CDC类提供的形状绘制函数 420

23.3画笔、画刷与绘图模式的控制 422

23.3.1画笔与画刷的选取 422

23.3.2绘图模式的控制 423

23.4 painter2程序范例 424

23.4.1 painter2的绘图功能 424

23.4.2 painter2程序内容 425

23.4.3 painter2的程序结构 431

23.4.4 painter2的自定义类说明 431

23.4.5 MyView类所处理的信息 437

23.4.6动态链接的应用 441

第24章 DOCUMENT/VIEW结构的应用 442

24.1图形对象的重绘 442

24.1.1记录图形对象与窗口重绘的机制 442

24.1.2 painter3程序范例 443

24.1.3窗口重绘的机制 446

24.1.4 painter3的自定义类 446

24.1.5形状对象的重绘机制 448

23.2应用程序的文件储存 452

24.2.1MFC的文件储存机制 452

24.2.2 painter4程序范例 453

24.2.4 painter4的Serialize机制 464

24.2.3 painter4的自定义类 464

24.2.5 painter4的文件操作功能 466

第25章 对话框的使用 468

25.1对话框的种类 468

25.2对话框的建立 468

25.2.1对话框组成 468

25.2.2对话框资源与对话框对象 468

25.2.3简介控制项 469

25.3 Modal对话框的使用 469

25.3.1 painter5程序范例 469

25.3.2 painter5的自定义类 472

25.3.4 SWidthDlg对话框类 473

25.3.3 painter5的结构 473

25.3.5对话框对象的建立 476

25.4对话框的数据交换与检查机制 477

25.4.1 DDX与DDV 477

25.4.2 painter6程序范例 478

25.4.3数据交换与检查机制 479

25.4.4 DDX与DDV机制的建立 479

25.4.5 DDX与DDV函数的说明 480

25.5 Modelless对话框 481

25.5.1 painter7程序范例 481

25.5.2 painter7的自定义类 486

25.5.3数据交换机制 487

25.5.4 Modelless对话框的建立 487

25.5.5其他更改的部分 490