《C++语言及面向对象程序设计》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:曹计昌等编著
  • 出 版 社:北京:高等教育出版社;广州:中山大学出版社
  • 出版年份:2004
  • ISBN:7306023187
  • 页数:551 页
图书介绍:新世纪高等学校计算机系列教材湖北省计算机学会·诺亚教科文中心策划与组编。本书根据ACM与IEEE推出的《计算机学科教学计划2001》和中国计算机学会等推出《CCC2002教程》中面向对象程序设计课程面向大纲的基本要求及参照C++最新国际标准较全面系统且又有一定深度地介绍了C++语言及面向对象程序设计的基本概念、原理、方法和基于MFC的C++应用程序设计技术。

第1章 程序设计语言概论 1

1.1 程序设计语言的历史 1

1.1.1 程序设计语言 1

目录 1

1.1.2 如何学习和使用程序设计语言 3

1.1.3 程序设计语言的发展过程 4

1.1.4 C++语言的主要特点 5

1.2 程序设计语言范型概述 7

1.2.1 过程式语言 8

1.2.2 功能型语言 8

1.3 面向对象的程序设计 9

1.2.3 面向对象语言 9

1.2.4 脚本式语言 9

1.3.1 对象 10

1.3.2 面向对象的方法 11

1.3.3 封装(Encapsulation) 12

1.3.4 继承(Inheritance) 14

1.3.5 多态性(Polymorphism) 15

本章小结 16

习题一 16

2.1.2 C++的词法记号 17

2.1.1 C++的字符集 17

第2章 C++基础 17

2.1 C++的字符集和词法记号 17

2.2 C++的程序结构 18

2.2.1 最简单的C++程序结构 18

2.2.2 C++程序结构的特点 19

2.3 C++的基本数据类型 20

2.3.1 基本数据类型 20

2.3.2 基本常量 21

2.3.3 变量 23

2.3.4 强制类型转换 24

2.4 C++的运算符与表达式 25

2.4.1 运算符的分类 25

2.4.2 表达式 29

2.5 C++的基本语句 31

2.5.1 赋值与复合赋值语句 31

2.5.2 输出语句 32

2.5.3 输入语句 33

2.5.4 简单的格式控制 33

2.6.1 自增操作 34

2.6 C++的自增和自减操作 34

2.5.5 复合语句 34

2.6.2 自减操作 35

2.6.3 有关自增和自减操作在表达式使用中的问题说明 36

2.7 C++的字符串类 36

2.8 C++的构造类型 37

2.8.1 枚举类型 37

2.8.2 结构类型 38

2.8.3 联合类型 44

2.9 简单的C++程序设计举例 50

本章小结 53

习题二 54

第3章 控制结构 55

3.1 简单选择结构 55

3.1.1 关系运算与逻辑运算简介 55

3.1.2 if结构 56

3.2 多重选择结构 60

3.3 循环结构 63

3.3.1 for循环 63

3.3.2 while循环 65

3.3.3 do—while循环 66

3.3.4 多重循环 67

3.4.1 break语句 69

3 4 转移语句 69

3.4.2 continue语句 70

3.4.3 goto语句 71

3.5 选择与循环结构程序举例 71

本章小结 77

习题三 78

4.1 函数的定义与函数原型 80

4.1.1 函数的定义 80

第4章 函数 80

4.1.2 函数的说明 81

4.2 参数传递与函数调用 82

4.2.1 形式参数与实际参数 82

4.2.2 参数传递 83

4.2.3 设置函数参数的默认值 86

4.2.4 函数的引用调用 87

4.3 内联函数 90

4.3.1 内联函数的意义 90

4.3.2 内联函数的定义 91

4.4.1 函数的嵌套 92

4.3.3 使用内联函数的规则 92

4.4 递归函数设计 92

4.4.2 递归调用 94

4.5 函数重载 96

4.5.1 函数重载的意义 96

4.5.2 函数重载 96

4.6 调用C++系统函数 100

本章小结 102

习题四 103

5.1 面向对象的抽象与封装机制 107

第5章 类与对象 107

5.2 类的声明和类的实现 108

5.2.1 类的声明 108

5.2.2 类的实现 110

5.2.3 访问控制 112

5.3 对象 114

5.4 类的特殊成员函数 116

5.4.1 说明语句的执行过程 116

5.4.2 构造函数 116

5.5 对象的拷贝赋值操作与拷贝构造函数 118

5.4.3 析构函数 118

5.5.1 对象的赋值操作 119

5.5.2 拷贝构造函数 122

5.6 成员函数的内联实现 129

5.7 成员函数的缺省参数值 130

5.8 成员函数的重载 132

*5.9 用union说明的类 134

*5.10 嵌套类和局域类 137

5.10.1 嵌套类 137

5.10.2 局域类 139

5.11 聚集类 140

本章小结 145

习题五 146

第6章 程序结构 149

6.1 对象的作用域与可见性 149

6.1.1 对象的作用域 149

6.1.2 对象的可见性 151

6.2 对象的生存期 152

6.3 对象的存储类型 155

6.3.1 用const修饰的常量对象 155

6.3.2 静态成员 159

6.4 友元 163

6.5 C++程序中的各类文件 166

6.6 宏和编译预处理 168

本章小结 172

习题六 173

第7章 数组 175

7.1 一维数组 175

7.1.1 一维数组的声明 175

7.1.2 一维数组的使用 176

7.1.3 一维数组的初始化 177

7.1.4 数组的运算及数组作为函数参数 178

7.2.1 字符数组的声明和使用 183

7.2 字符数组 183

7.2.2 字符数组的初始化 184

7.2.3 关于wchar_t类型的字符串 185

7.2.4 字符串处理函数 186

7.3 多维数组 192

7.3.1 多维数组的说明与使用 193

*7.3.2 多维数组的存储结构 194

7.3.3 多维数组的初始化 197

7.4 数组应用举例 198

7.5.1 对象数组的说明 200

7.5 对象数组 200

7.5.2 对象数组的初始化及存储结构 201

7.5.3 对象数组中元素的引用 202

本章小结 204

习题七 204

第8章 操作符重载 206

8.1 操作符重载概述 206

8.2 操作符重载为类的成员函数 209

8.3 操作符重载为友员函数 214

8.4 增量/减量操作符的重载 218

*8.5 下标操作符的重载 220

8.6 函数调用操作符的重载 224

*8.7 类成员访问指针操作符的重载 225

本章小结 227

习题八 228

第9章 指针与引用 229

9.1 指针和引用的概念及其使用 229

9.1.1 指针和引用的概念 229

9.1.2 指针的声明 230

9.1.3 指针的使用 232

9.2 指针的运算 236

9.2.1 指针的算术运算 237

9.2.2 指针的赋值运算和关系运算 241

9.3 引用 243

9.3.1 引用的声明 243

9.3.2 引用的使用 244

9.3.3 指针和引用作为函数参数的比较 247

9.4 指针与数组的关系 248

9.4.1 一维数组的指针表示 249

9.4.2 一维数组参数的指针表示 250

9.4.3 多维数组的指针表示 251

9.4.4 多维数组参数的指针表示 254

9.5 字符指针 255

9.5.1 字符指针对字符串的作用 255

9.5.2 字符指针作为函数的参数 257

9.6 指针数组 260

9.6.1 指针数组的声明及使用 260

9.6.2 多重指针 263

9.6.3 命令行参数 264

9.7 指针函数与函数指针 265

9.7.1 指针函数的声明与使用 265

9.7.2 函数指针的声明与使用 267

9.8 this指针 271

9.9 指向类成员的指针 273

9.9.1 非静态成员的指针 273

9.9.2 静态成员的指针 275

9.10 动态存储管理 277

9.10.1 new操作和delete操作 278

9.10.2 new[]操作和delete[]操作 280

9.10.3 用new[]操作和delete[]操作动态创建和清除多维数组 281

*9.11 类型表达式与复杂声明 283

9.11.1 类型表达式 284

9.11.2 复杂类型的解释 286

9.11.3 复杂类型的使用 287

9.12 C++标准库、string类和String类 288

9.12.1 C++标准库 288

9.12.2 string类 289

*9.12.3 String类 293

本章小结 301

习题九 302

第10章 继承 303

10.1 继承 303

10.2.1 继承方式和访问控制 306

10.2 对基类成员的访问 306

10.2.2 公有继承 309

10.2.3 私有继承 312

10.2.4 保护继承 314

10.3 多继承 315

10.4 派生类的构造函数、拷贝构造函数与析构函数 318

10.4.1 派生类的构造函数和析构函数 318

10.4.2 派生类的拷贝构造函数 321

10.5 二义性和支配规则 325

10.6 虚基类 328

10.7 派生类的初始化与赋值操作 332

本章小结 336

习题十 337

第11章 多态性 339

11.1 概述 339

11.2 类型强制 341

11.2.1 构造函数实现的类型强制 341

11.2.2 用类型强制转换成员函数实现类型强制 343

11.3 子类型 345

11.3.1 子类型及多态指针和多态引用 345

11.3.2 多态程序 347

11.4.1 静态束定 349

11.4 静态束定、动态束定和虚函数 349

11.4.2 动态束定与虚函数 351

11.4.3 关于虚函数的进一步讨论 353

11.4.4 隐藏与指定 357

11.5 纯虚函数与抽象类 359

11.5.1 纯虚函数 360

11.5.2 抽象类 362

*11.6 虚析构函数 368

*11.7 多态性的程序设计实例 371

本章小结 381

习题十一 382

第12章 模板 384

12.1 概述 384

12.2 函数模板 385

12.3 类模板 387

12.4 用类模板构造简单线性表 390

12.5 用类模板构造单向链表 394

本章小结 399

习题十二 400

13.2 异常处理机制 401

第13章 异常处理 401

13.1 异常的概念 401

13.3 异常处理实例 405

13.4 异常处理中的构造函数与析构函数 409

本章小结 411

习题十三 412

14.1.1 iostream类库的头文件 413

14.1.2 输入/输出流类和对象 413

14.1 输入/输出流类的结构 413

第14章 输入/输出流类库 413

14.1.3 输出流 414

14.1.4 输入流 415

14.2 文件流类 416

14.3 串流类 419

14.4 格式控制 420

14.5 流类成员函数的使用 423

14.6 数据文件的输入/输出操作 425

本章小结 428

习题十四 429

15.1 Windows编程的特点 430

第15章 Windows编程基础 430

15.2 Visual C++集成开发环境的使用 432

15.2.1 Win32 Console Application工程的使用 432

15.2.2 Win32 Application工程的使用 434

15.3 MFC的体系结构 441

15.4 Windows编程常用的扩充数据类型 443

15.5 几个简单的MFC数据类型类 445

15.6 MFC Windows应用程序典型执行过程和消息处理机制的建立 445

15.6.1 MFC Windows应用程序典型执行过程 445

15.6.2 MFC Windows应用程序消息处理机制的建立 446

15.7 基于框架结构的MFC Windows程序 451

15.7.1 用MFC AppWizard(exe)创建一个单文档应用程序 451

15.7.2 开发基于框架结构的MFC Windows程序的几点说明 452

15.7.3 文档/视图结构消息处理次序 456

本章小结 457

习题十五 458

第16章 文本和图形输出 459

16.1 鼠标和键盘消息 459

16.1.1 鼠标消息 459

16.1.2 键盘消息 461

16.2.1 基本的文本输出 462

16.2 文本输出 462

16.2.2 设置文本及其背景的颜色 465

16.3 字体 467

16.3.1 字体的基本知识 467

16.3.2 逻辑字体/自定义字体 470

16.4 文本输出技巧举例 474

16.4.1 动画字体的显示 474

16.4.2 滚动字幕的实现举例 478

16.4.3 随机数的产生与显示 480

16.5.1 基本图形显示 483

16.5 图形输出 483

16.5.2 GDI对象 489

16.6 绘图坐标系与坐标映射方式 495

16.7 图形动画实现举例 496

16.8 位图 498

本章小结 502

习题十六 503

第17章 对话框及常用控件 504

17.1 对话框的使用 504

17.1.1 模式对话框和无模式对话框 505

17.1.2 使用对话框编辑器 506

17.1.3 对话框的编程 507

17.2 控件的创建和使用 508

17.2.1 在对话框中创建和使用控件 508

17.2.2 控件的通用属性 509

17.2.3 控件的消息 510

17.3 Windows常用控件 512

17.3.1 静态控件和按钮 513

17.3.2 编辑框 516

17.3.3 列表框 522

17.3.4 组合框 524

17.3.5 滚动条(Scroll bar) 526

17.3.6 滑动条和旋转按钮 527

17.3.7 其他常用控件的使用 533

17.4 通用对话框简介 539

17.5 几个设计与应用技巧 542

本章小结 546

习题十七 547

附录 548

附录1 ASCII字符集 548

附录2 C++语言的运算符及其优先级和结合性 548

参考文献 551