图书目录

第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设计   6

1.3.3编程   6

1.3.4测试   6

1.3.5维护   6

1.4信息的表示与存储     7

1.4.1计算机的数字系统   7

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

1.4.3信息的存储单位     11

1.4.4二进制数的编码表示 11

1.4.5定点数和浮点数     15

1.4.6数的表示范围 15

1.4.7非数值信息的表示   16

1.5程序的开发过程 16

1.5.1基本术语     17

1.5.2程序的开发过程     18

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词法记号     21

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

2.2.1基本数据类型 23

2.2.2常量   24

2.2.3变量   26

2.2.4符号常量     27

2.2.5运算符与表达式     27

2.3数据的输入与输出     35

2.3.1I/O流 35

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

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

2.4算法的基本控制结构   36

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

2.4.2多重选择结构 38

2.4.3循环结构     42

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

2.4.5其他控制语句 49

2.5自定义数据类型 49

2.5.1类型定义语句——typedef  49

2.5.2枚举类型——enum   50

2.5.3结构体 54

2.5.4联合体 56

2.6小结     59

习题  59

第3章函数  63

3.1函数的定义与使用    63

3.1.1函数的定义   63

3.1.2函数的调用   64

3.1.3函数的参数传递     76

3.2内联函数      80

3.3带默认形参值的函数  81

3.4函数重载      83

3.5函数模板      85

3.6使用C++系统函数     87

3.7小结    89

习题  90

第4章类与对象   92

4.1面向对象的思想 92

4.1.1结构化程序设计     92

4.1.2面向对象程序设计   93

4.2面向对象程序设计的基本特点 94

4.2.1抽象   94

4.2.2封装   95

4.2.3继承   96

4.2.4多态   96

4.3类和对象 96

4.3.1类的声明     96

4.3.2类成员的访问控制   97

4.3.3类的成员函数 99

4.3.4对象   100

4.3.5程序实例     101

4.4构造函数和析构函数   102

4.4.1构造函数     102

4.4.2拷贝构造函数 104

4.4.3析构函数     108

4.4.4程序实例     109

4.5类的组合 110

4.5.1类的组合     111

4.5.2前向引用声明 114

4.6类模板  114

4.7面向对象标记   117

4.8小结     119

习题  120

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

5.1作用域与可见性 121

5.1.1作用域 121

5.1.2可见性 123

5.2生存期   124

5.2.1静态生存期   124

5.2.2动态生存期   124

5.3数据与函数     127

5.3.1局部变量     127

5.3.2全局变量     127

5.3.3数据成员     128

5.4静态成员 129

5.4.1静态数据成员 130

5.4.2静态函数成员131

5.5友元     133

5.5.1友元函数     135

5.5.2友元类 136

5.6共享数据的保护 137

5.6.1常引用 137

5.6.2常对象 138

5.6.3用const修饰的类成员    139

5.7多文件结构和编译预处理命令 141

5.7.1C++程序的一般组织结构   141

5.7.2编译预处理程序     143

5.8小结     147

习题  147

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

6.1数组     149

6.1.1数组的说明与使用   149

6.1.2数组的存储与初始化 151

6.1.3数组作为函数参数   153

6.1.4对象数组     154

6.1.5程序实例     157

6.2指针     160

6.2.1内存空间的访问方式160

6.2.2指针变量的声明161

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

6.2.4指针的赋值162

6.2.5指针运算165

6.2.6用指针处理数组元素166

6.2.7指针数组167

6.2.8用指针作为函数参数169

6.2.9指针型函数171

6.2.10指向函数的指针171

6.2.11对象指针173

6.3动态内存分配   178

6.3.1new运算和delete运算  178

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

6.4字符串     181

6.4.1用字符数组存储和处理字符串182

642string类184

6.5小结188

习题  188

第7章继承与派生 191

7.1继承与派生     191

7.1.1派生与继承的实例   191

7.1.2派生类的声明 192

7.1.3派生类生成过程     194

7.2访问控制 195

7.2.1公有继承     196

7.2.2私有继承     198

7.2.3保护继承     200

7.3派生类的构造和析构函数     201

7.3.1构造函数     202

7.3.2析构函数     204

7.4派生类成员的标识与访问     206

7.4.1作用域分辨   207

7.4.2虚基类 211

743虚基类及其派生类的构造函数214

7.5赋值兼容规则   215

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

7.6.1算法基本原理 218

7.6.2程序设计分析 219

7.6.3源程序及说明 220

7.6.4运行结果与分析     225

7.7程序实例——一个小型公司的人员信息管理系统     226

7.7.1问题的提出  226

7.7.2类设计 226

7.7.3源程序及说明 227

7.7.4运行结果与分析     231

7.8小结     233

习题234第8章多态性     235

8.1多态性概述     235

8.1.1多态的类型   235

8.1.2多态的实现   236

8.2运算符重载     236

8.2.1运算符重载的规则   237

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

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

8.3虚函数   243

8.3.1一般虚函数成员     244

8.3.2虚析构函数   246

8.4抽象类   246

8.4.1纯虚函数     247

8.4.2抽象类 247

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

8.5.1算法基本原理 249

8.5.2程序设计分析 250

8.5.3源程序及说明 251

8.5.4运行结果与分析     254

8.6程序实例——对一个小型公司的人员信息管理系统程序的改进 254

8.7小结     260

习题  261

第9章群体类     263

9.1线性群体 263

9.1.1线性群体的概念     263

9.1.2直接访问群体——数组类   266

9.1.3顺序访问群体——链表类   274

9.1.4栈类   286

9.1.5队列类 293

9.2C++标准库中的容器类297

9.2.1与标准C++库有关的概念和术语297

9.2.2容器的接口299

9.2.3向量302

9.2.4双端队列305

9.2.5标准栈306

9.2.6标准队列307

9.2.7列表308

9.3小结    310

习题  310

第10章群体数据的组织312

10.1插入排序312

10.2选择排序313

10.3交换排序315

10.4顺序查找316

10.5折半查找317

10.6标准C++库中的算法318

1061查找算法318

1062排序算法320

10.7小结322

习题323

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

11.1I/O流的概念 324

11.2输出流  326

11.2.1构造输出流对象    326

11.2.2使用插入运算符和控制格式      326

11.2.3输出文件流成员函数      331

11.2.4二进制输出文件    333

11.3输入流  334

11.3.1构造输入流对象    334

11.3.2使用提取运算符    335

11.3.3输入流操纵符      335

11.3.4输入流成员函数    335

11.4输入/输出流   338

11.5小结    339

习题339

第12章异常处理  341

12.1异常处理的基本思想  341

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

12.2.1异常处理的语法    342

12.2.2异常接口声明     344

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

12.4小结   347

习题 348

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

13.1Windows的编程模式349

13.2MFC库简介    350

13.2.1应用程序框架      351

13.2.2MFC类层次  351

13.2.3MFC类功能简介    351

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

13.4小结     358

习题  358

参考文献359