《面向对象程序设计与Visual C++6.0教程 第2版》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:陈天华编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2013
  • ISBN:9787302339281
  • 页数:397 页
图书介绍:本书主要内容包括:第1章概述,第2章C++程序设计基础第3章函数以及第4~7章(C++面向对象的抽象性、封装性、继承性和多态性),第8章~11章(第8章模板、第9章I/O流类、第10章异常处理、第11章Windows程序设计的基本概念和基本思想)。使读者在牢固掌握C++程序设计的基础上,了解MFC类库层次结构、MFC消息机制及MFC应用程序结构等基本概念。

第1章 面向对象程序设计概述 1

1.1程序设计语言的发展 1

1.1.1机器语言 1

1.1.2汇编语言 2

1.1.3高级语言 2

1.1.4面向对象语言 3

1.2面向对象程序设计的基本概念 3

1.2.1面向对象方法的产生 4

1.2.2面向对象与面向过程的区别 4

1.2.3类与对象的概念 5

1.2.4消息与事件的概念 6

1.3面向对象程序设计的特点 7

1.3.1抽象性 7

1.3.2封装性 7

1.3.3继承性 8

1.3.4多态性 9

1.3.5 C+++的面向对象特性 10

1.4面向对象程序设计语言 11

1.4.1混合型面向对象语言C+++ 11

1.4.2 Java语言 12

1.5面向对象软件开发 12

1.5.1面向对象分析 13

1.5.2面向对象设计 13

1.5.3面向对象编程 13

1.5.4面向对象测试 14

1.5.5面向对象软件维护 14

1.6本章小结 15

1.7思考与练习题 16

第2章 C+程序设计基础 17

2.1 C++语言概述 17

2.1.1 C+++的产生 17

2.1.2 C+++的特点 18

2.1.3 C+++字符集 18

2.1.4 C+++程序的组成 19

2.2 C++基本数据类型 22

2.2.1基本数据类型 22

2.2.2常量 23

2.2.3变量 26

2.2.4符号常量 30

2.3运算符与表达式 31

2.3.1表达式 31

2.3.2运算符及性质 31

2.3.3运算符的优先级 38

2.3.4混合运算时数据类型的转换 39

2.4简单的输入与输出 41

2.4.1 I/O流简介 41

2.4.2插入运算符和提取运算符 41

2.4.3简单的I/O格式 42

2.5程序的基本控制结构 42

2.5.1顺序结构 42

2.5.2选择结构 42

2.5.3循环结构 48

2.6自定义数据类型 52

2.6.1结构体 52

2.6.2联合体 54

2.6.3枚举类型 56

2.6.4 typedef的应用 58

2.7本章小结 59

2.8思考与练习题 59

第3章 函数 61

3.1函数的定义与使用 61

3.1.1函数的定义 62

3.1.2函数的调用 62

3.1.3函数原型 64

3.2函数的参数传递 65

3.2.1传值调用 66

3.2.2传地址调用 67

3.2.3引用调用 68

3.3函数的嵌套调用与递归调用 68

3.3.1函数的嵌套调用 69

3.3.2函数的递归调用 70

3.4函数的其他问题 72

3.4.1内联函数 72

3.4.2函数重载的概念 74

3.4.3带默认参数的函数 75

3.4.4 C+++系统函数 76

3.5作用域与存储类型 77

3.5.1作用域 77

3.5.2存储类型 80

3.5.3生存期 80

3.6全局变量与局部变量 81

3.6.1全局变量 81

3.6.2局部变量 81

3.7头文件与多文件结构 82

3.7.1头文件 82

3.7.2多文件结构 83

3.8编译预处理 84

3.8.1宏定义 84

3.8.2文件包含指令 84

3.8.3条件编译 85

3.9本章小结 86

3.10思考与练习题 87

第4章 类与对象 88

4.1类概述 88

4.1.1类的特点 88

4.1.2类的定义 89

4.1.3访问控制 91

4.2成员函数 92

4.2.1成员函数的定义 92

4.2.2内联成员函数 93

4.3对象 94

4.3.1对象的定义 94

4.3.2类成员的访问 95

4.4构造函数与析构函数 98

4.4.1构造函数 98

4.4.2析构函数 101

4.4.3复制构造函数 105

4.4.4浅复制与深复制 110

4.5静态成员 113

4.5.1静态成员的定义与引用 114

4.5.2静态数据成员 114

4.5.3静态成员函数 115

4.6友元 117

4.6.1友元的作用 117

4.6.2友元函数 118

4.6.3友元类 119

4.7类作用域及对象的生存期 121

4.7.1类作用域 121

4.7.2对象的生存期 121

4.8名空间 122

4.8.1名空间的定义 123

4.8.2名空间成员的访问 123

4.8.3名空间的应用 123

4.9常类型 125

4.9.1常引用 125

4.9.2常对象 126

4.9.3常对象成员 127

4.10本章小结 130

4.11思考与练习题 131

第5章 数组与指针 135

5.1数组 135

5.1.1一维数组 135

5.1.2二维数组 139

5.1.3对象数组 143

5.2指针 145

5.2.1内存空间的访问 145

5.2.2指针变量的定义 146

5.2.3“*”和“&”运算符 147

5.2.4指针的赋值 147

5.3指针运算 149

5.3.1指针的算术运算 149

5.3.2指针的关系运算 150

5.4指针与数组 151

5.4.1一维数组元素的指针表示 151

5.4.2二维数组元素的指针表示 152

5.4.3指针数组 153

5.5指针与函数 154

5.5.1采用指针作为函数参数 155

5.5.2指针型函数 156

5.5.3指向函数的指针 157

5.6指针与字符串 158

5.6.1通过指针访问字符串 158

5.6.2采用字符指针作为函数参数 159

5.7对象指针 160

5.7.1对象指针的概念 160

5.7.2类数据成员的指针 161

5.7.3类成员函数的指针 161

5.7.4 this指针 163

5.8动态内存分配 164

5.8.1 new运算符 164

5.8.2 delete运算符 165

5.9本章小结 167

5.10思考与练习题 168

第6章 继承与派生 170

6.1继承与派生的概念 170

6.1.1继承的层次结构 170

6.1.2为什么使用继承 171

6.2派生类 172

6.2.1派生类的定义 172

6.2.2派生类的生成过程 175

6.3访问权限的控制 176

6.3.1公有继承 176

6.3.2私有继承 178

6.3.3保护继承 179

6.4派生类的构造函数和析构函数 182

6.4.1派生类的构造函数 182

6.4.2派生类的析构函数 185

6.5多继承 186

6.5.1多继承的定义 186

6.5.2多继承的构造函数 186

6.5.3多继承的析构函数 189

6.5.4虚基类 191

6.6赋值兼容规则 194

6.7程序实例 197

6.8本章小结 201

6.9思考与练习题 202

第7章 多态性 205

7.1多态性的实现类型 205

7.2联编 206

7.2.1静态联编 206

7.2.2动态联编 208

7.3虚函数 208

7.3.1虚函数的声明 208

7.3.2虚函数的调用 209

7.3.3虚析构函数 212

7.4抽象类 214

7.4.1纯虚函数的定义 214

7.4.2抽象类的使用 214

7.5函数重载 217

7.6运算符重载 218

7.6.1运算符重载规则 218

7.6.2运算符重载为成员函数 219

7.6.3运算符重载为友元函数 227

7.7综合设计举例 228

7.8本章小结 232

7.9思考与练习题 232

第8章 模板 234

8.1模板概述 234

8.2函数模板 235

8.2.1函数模板的定义 235

8.2.2函数模板的使用 236

8.2.3函数模板的生成 237

8.3类模板 238

8.3.1类模板的定义 238

8.3.2类模板的使用 240

8.3.3类模板的友元 242

8.4 ST L简介 245

8.4.1 STL和C+++标准函数库 245

8.4.2容器 246

8.4.3算法 247

8.4.4迭代器 248

8.4.5函数对象 249

8.5 STL应用实例 250

8.6本章小结 254

8.7思考与练习题 254

第9章 I/O流 256

9.1 I/O流库的层次结构 256

9.1.1流的概念 256

9.1.2 ios类的层次关系 257

9.1.3 streambuf类的层次关系 258

9.2输入与输出格式的控制 258

9.2.1 ios类成员函数的格式控制 258

9.2.2操作符函数的格式控制 262

9.2.3自定义操作符函数的格式化 263

9.3文件的输入与输出 265

9.3.1文件的打开与关闭 266

9.3.2 if stream、 of stream和fstream类 267

9.3.3文本文件的输入与输出 268

9.3.4二进制文件的输入与输出 271

9.4自定义数据类型的输入与输出 274

9.4.1输出运算符重载 274

9.4.2输入运算符重载 275

9.5本章小结 277

9.6思考与练习题 277

第10章 异常处理 280

10.1异常处理的任务与思想 280

10.1.1传统的异常处理方法 280

10.1.2 C+++异常处理机制 281

10.2 C++异常处理的实现 282

10.2.1异常处理语法 282

10.2.2异常处理接口 286

10.3异常处理中的构造与析构 287

10.4 C++标准异常类 289

10.5本章小结 292

10.6思考与练习题 293

第11章 Visual C+应用简介 294

11.1 Visual C++编程基础 294

11.1.1 Visual C+++的环境介绍 294

11.1.2 Visual C+++的菜单功能 296

11.1.3 Visual C+++的工具栏 300

11.1.4项目和项目工作区 301

11.2 Windows编程概述 302

11.2.1多任务和多线程 302

11.2.2事件驱动原理 303

11.2.3 Windows编程的基本概念 304

11.2.4 GDI简介 306

11.2.5 Windows资源 307

11.2.6常用的数据类型和数据结构 307

11.2.7 Windows标识符的命名方法 309

11.3使用MFC向导创建Windows应用程序 309

11.3.1 MFC类库简介 310

11.3.2 MFC类库的层次结构 310

11.3.3 Windows应用程序类型 314

11.3.4使用AppWizard向导创建MFC应用程序 315

11.4本章小结 321

11.5思考与练习题 321

第12章 MFC典型应用程序设计 322

12.1消息处理机制 322

12.1.1 MFC消息种类 322

12.1.2 MFC消息映射机制 323

12.2应用程序分析 324

12.2.1使用AppWizard向导生成的类和文件 324

12.2.2应用程序的运行机制 326

12.3输入与输出处理程序 328

12.3.1文本输出程序 328

12.3.2键盘输入处理程序 332

12.3.3鼠标处理程序 336

12.4菜单应用程序设计 339

12.4.1菜单简介 340

12.4.2菜单资源编辑器 340

12.4.3菜单应用实例 341

12.5工具栏应用程序设计 348

12.5.1工具栏简介 348

12.5.2使用资源编辑器创建工具栏 348

12.5.3工具栏应用实例 350

12.6状态栏应用程序设计 351

12.6.1状态栏的实现 351

12.6.2状态栏应用实例 351

12.7对话框应用程序设计 356

12.7.1对话框的分类 356

12.7.2常用对话框类 356

12.7.3对话框的常用函数 357

12.7.4对话框应用实例 358

12.8控件应用程序设计 365

12.8.1控件简介 365

12.8.2常用控件类 366

12.8.3创建控件 366

12.8.4控件应用实例 367

12.9数据库应用程序设计 373

12.9.1 ADO技术 374

12.9.2 ODBC技术 374

12.9.3数据库应用程序实例 375

12.10数据库应用程序功能扩展 386

12.10.1添加记录 387

12.10.2删除记录 388

12.10.3修改记录 389

12.11本章小结 390

12.12思考与练习题 390

附录A Visual C++程序的调试方法 391

附录B ASCII码字符集 396

参考文献 397