图书目录

第1章绪论     1

1.1计算机程序设计语言的发展   1

1.1.1机器语言与汇编语言 1

1.1.2高级语言     2

1.1.3面向对象的语言     2

1.2面向对象的方法 2

1.2.1面向对象方法的由来 3

1.2.2面向对象的基本概念 4

1.3面向对象的软件开发   5

1.3.1分析   5

1.3.2设计   5

1.3.3编程   6

1.3.4测试   6

1.3.5维护   6

1.4信息的表示与存储     6

1.4.1计算机的数字系统   7

1.4.2几种进位记数制之间的转换     8

1.4.3信息的存储单位     10

1.4.4二进制数的编码表示 11

1.4.5定点数和浮点数     14

1.4.6数的表示范围 15

1.4.7非数值信息的表示   16

1.5程序的开发过程 16

1.5.1基本术语     16

1.5.2程序的开发过程     17

1.6小结     18

习题  18

第2章C++简单程序设计    19

2.1C++语言概述   19

2.1.1C++的产生     19

2.1.2C++的特点   19

2.1.3C++程序实例 20

2.1.4字符集 21

2.1.5词法记号     22

2.2基本数据类型和表达式 23

2.2.1基本数据类型 24

2.2.2常量   24

2.2.3变量   26

2.2.4符号常量     27

2.2.5运算符与表达式     28

2.2.6语句36

2.3数据的输入与输出     36

2.3.1I/O流 36

2.3.2预定义的插入符和提取符   36

2.3.3简单的I/O格式控制  37

2.4算法的基本控制结构   38

2.4.1用if 语句实现选择结构    39

2.4.2多重选择结构 40

2.4.3循环结构     43

2.4.4循环结构与选择结构的嵌套 48

2.4.5其他控制语句 50

2.5自定义数据类型 51

2.5.1typedef 声明 51

2.5.2枚举类型——enum   51

2.5.3结构体 53

2.5.4联合体 55

2.6小结     57

习题  58

第3章函数  62

3.1函数的定义与使用    62

3.1.1函数的定义   62

3.1.2函数的调用   63

3.1.3函数的参数传递     75

3.2内联函数      79

3.3带默认形参值的函数  80

3.4函数重载      82

3.5使用C++系统函数     85

3.6小结    87

习题  87

第4章类与对象   90

4.1面向对象程序设计的基本特点90

4.1.1抽象90

4.1.2封装91

4.1.3继承92

4.1.4多态92

4.2类和对象92

4.2.1类的声明93

4.2.2类成员的访问控制94

4.2.3类的成员函数95

4.2.4对象97

4.2.5程序实例97

4.3构造函数和析构函数98

4.3.1构造函数99

4.3.2拷贝构造函数101

4.3.3析构函数104

4.3.4程序实例105

4.4类的组合107

4.4.1组合107

4.4.2前向引用声明111

4.5UML图形标识113

4.5.1UML简介113

4.5.2UML类图114

4.6程序实例——人员信息管理程序119

4.6.1类的设计119

4.6.2源程序及说明120

4.6.3运行结果与分析122

4.7小结123

习题123

第5章C++程序的结构125

5.1标识符的作用域与可见性125

5.1.1作用域125

5.1.2可见性127

5.2对象的生存期127

5.2.1静态生存期128

5.2.2动态生存期128

5.3类的静态成员130

5.3.1静态数据成员131

5.3.2静态函数成员133

5.4类的友元135

5.4.1友元函数137

5.4.2友元类138

5.5共享数据的保护140

5.5.1常引用140

5.5.2常对象140

5.5.3用const修饰的类成员141

5.6多文件结构和编译预处理命令144

5.6.1C++程序的一般组织结构144

5.6.2外部变量与外部函数146

5.6.3标准C++库和命名空间147

5.6.4编译预处理148

5.7程序实例——人员信息管理程序151

5.8小结154

习题155

第6章数组、指针与字符串157

6.1数组157

6.1.1数组的声明与使用157

6.1.2数组的存储与初始化159

6.1.3数组作为函数参数161

6.1.4对象数组163

6.1.5程序实例165

6.2指针168

6.2.1内存空间的访问方式168

6.2.2指针变量的声明169

6.2.3与地址相关的运算——“*”和“&”170

6.2.4指针的赋值170

6.2.5指针运算173

6.2.6用指针处理数组元素174

6.2.7指针数组175

6.2.8用指针作为函数参数177

6.2.9指针型函数179

6.2.10指向函数的指针179

6.2.11对象指针181

6.3动态内存分配186

6.3.1new运算和delete运算186

6.3.2动态内存分配与释放函数191

6.4深拷贝与浅拷贝191

6.5字符串195

6.5.1用字符数组存储和处理字符串195

6.5.2string类198

6.6程序实例——人员信息管理程序200

6.7小结204

习题204

第7章继承与派生207

7.1类的继承与派生207

7.1.1继承与派生的实例207

7.1.2派生类的定义209

7.1.3派生类生成过程210

7.2访问控制212

7.2.1公有继承212

7.2.2私有继承214

7.2.3保护继承216

7.3类型兼容规则218

7.4派生类的构造和析构函数221

7.4.1构造函数221

7.4.2拷贝构造函数224

7.4.3析构函数224

7.5派生类成员的标识与访问226

7.5.1作用域分辨226

7.5.2虚基类231

7.5.3虚基类及其派生类构造函数234

7.6程序实例——用高斯消去法解线性方程组235

7.6.1算法基本原理235

7.6.2程序设计分析236

7.6.3源程序及说明237

7.6.4运行结果与分析242

7.7程序实例——人员信息管理程序243

7.7.1问题的提出243

7.7.2类设计243

7.7.3源程序及说明244

7.7.4运行结果与分析249

7.8小结250

习题251

第8章多态性252

8.1多态性概述252

8.1.1多态的类型252

8.1.2多态的实现252

8.2运算符重载253

8.2.1运算符重载的规则254

8.2.2运算符重载为成员函数255

8.2.3运算符重载为友元函数259

8.3虚函数261

8.3.1一般虚函数成员262

8.3.2虚析构函数265

8.4抽象类266

8.4.1纯虚函数266

8.4.2抽象类267

8.5程序实例——用变步长梯形积分算法求解函数的定积分269

8.5.1算法基本原理269

8.5.2程序设计分析271

8.5.3源程序及说明272

8.5.4运行结果与分析274

8.6程序实例——人员信息管理程序274

8.7小结280

习题281

第9章群体类和群体数据的组织283

9.1函数模板与类模板284

9.1.1函数模板284

9.1.2类模板287

9.2线性群体290

9.2.1线性群体的概念290

9.2.2直接访问群体——数组类291

9.2.3顺序访问群体——链表类301

9.2.4栈类307

9.2.5队列类313

9.3群体数据的组织316

9.3.1插入排序316

9.3.2选择排序317

9.3.3交换排序319

9.3.4顺序查找320

9.3.5折半查找321

9.4程序实例——人员信息管理程序322

9.5小结323

习题324

第10章泛型程序设计与C++标准模板库326

10.1泛型程序设计的概念和术语326

10.1.1泛型程序设计326

10.1.2命名空间的概念327

10.1.3头文件命名规则329

10.1.4标准模板库相关概念和术语330

10.2C++标准模板库中的容器331

10.2.1顺序容器332

10.2.2容器适配器341

10.3迭代器343

10.3.1迭代器的类型344

10.3.2迭代器相关的辅助函数345

10.4标准C++库中的算法347

10.4.1STL通用算法调用形式348

10.4.2不可变序列算法349

10.4.3可变序列算法352

10.4.4排序相关算法355

10.4.5数值算法360

10.5函数对象361

10.6程序实例——人员信息管理程序364

10.7小结366

习题366

第11章流类库与输入/输出369

11.1I/O流的概念及流类库结构369

11.2输出流372

11.2.1构造输出流对象372

11.2.2使用插入运算符和操纵符373

11.2.3输出文件流成员函数377

11.2.4二进制输出文件379

11.3输入流380

11.3.1构造输入流对象380

11.3.2使用提取运算符381

11.3.3输入流操纵符381

11.3.4输入流成员函数381

11.4输入/输出流385

11.5程序实例——人员信息管理程序385

11.6小结387

习题388

第12章异常处理390

12.1异常处理的基本思想390

12.2C++异常处理的实现390

12.2.1异常处理的语法391

12.2.2异常接口声明393

12.3异常处理中的构造与析构394

12.4标准程序库异常处理396

12.5程序实例——人员信息管理程序396

12.6小结399

习题399

第13章MFC库与Windows程序开发概述400

13.1Windows的编程模式400

13.2MFC库简介402

13.2.1应用程序框架402

13.2.2MFC类层次403

13.2.3MFC类功能简介403

13.3使用Visual C++开发Windows程序的步骤407

13.4综合实例——人员信息管理程序409

13.5小结414

习题414

参考文献415