引论 1
0.1程序=模型+表现 1
问题-模型-程序 1
程序的正确性:模型的有效性+表现的忠实性 2
程序设计中的科学思维方法 2
功能分析与结构分析 4
模块:接口与实现 6
数据结构与算法 7
面向过程的程序设计(POP)与面向对象的程序设计(OOP) 9
0.2 C++语言程序开发 12
C++语言概述 12
C++程序开发的基本过程 13
第一章 过程初步 15
1.1 C++过程程序构成 15
过程程序的功能 15
C++过程程序结构 16
C++语素 17
1.2常量与变量 19
字面常量 19
程序变量 21
符号常量 22
1.3运算符与表达式基础 23
算术运算符与算术表达式 23
关系运算符与关系表达式 25
逻辑运算符与逻辑表达式 26
条件运算符与条件表达式 27
位运算符及其表达式 28
赋值运算符与赋值表达式 29
逗号运算符及其表达式 32
关于表达式运算顺序的讨论 32
1.4语句及其流程控制 35
语句 35
ifelse选择结构 36
switch选择结构 40
while重复结构 42
dowhile重复结构 51
for重复结构 52
流程转向控制 56
程序中止函数exit() 58
1.5程序测试及其用例设计 59
概述 59
结构测试技术 60
功能测试技术 63
习题 65
第二章 过程的组织和管理 69
2.1用函数组织C++过程 69
概述 69
函数结构与函数定义 70
函数名重载 73
内嵌函数 73
函数原型与函数声明 74
函数调用 75
递归函数 77
C++库函数 81
2.2程序实体及其存储类 83
程序实体的创建与生存期 83
作用域与可见性 84
C++存储类 85
2.3编译预处理 93
宏定义 93
文件包含 95
条件编译 96
习题 97
第三章 数据类型 102
3.1基本类型 102
整类型 102
字符类型 104
实类型 107
算术类型转换 109
sizeof运算符 110
3.2数组类型 111
一维数组 112
字符串 115
多维数组 118
3.3指针类型 119
地址与指针 119
指针的运算 123
动态内存分配 125
3.4数组与指针 127
数组名指针 127
数组元素的指针形式 130
指向数组的指针变量 132
字符型指针 134
指针数组 136
3.5声明 139
声明符 139
复杂声明 139
类型定义符:typedef 141
3.6函数与指针 142
指针参数 142
带参主函数与命令行参数 146
返回指针的函数 147
指向函数的指针 149
指向void类型的指针 152
3.7类属 154
类型参数化 154
函数模板(template函数) 155
异常处理 158
3.8引用类型 159
引用的声明与特点 160
引用参数 163
返回引用的函数 164
3.9枚举类型 164
枚举是用户定义类型 164
枚举是一组被命名的 165
整型常量集合 165
枚举变量的运算与应用 166
习题 167
第四章 类与对象 175
4.1类的定义 175
类的组成与接口 175
类的实现 177
4.2对象的创建与撤销 178
对象声明 178
构造函数 179
释放函数 182
对象创建时的内存动态分配 187
用对象初始化新对象——复制构造函数 188
对象成员 193
4.3对象行为与性能控制 194
友元 194
共用体与共用体成员 199
静态成员 205
const对象 209
4.4对象组织 210
对象向量 210
指向对象的指针与对象链表 211
this指针 215
4.5对象运算与运算符重载 216
运算符重载的成员函数方式与友元函数方式 216
类型转换与转换函数 219
对象赋值与赋值运算符重载 221
下标运算符与函数调用运算符重载 224
插入/提取符及其重载 230
运算符重载规则 234
4.6类模板 236
类模板的定义 236
类模板中的友元函数 239
异常处理 242
习题 244
第五章 继承 246
5.1派生类 246
public派生与prlvate派生 246
protected成员与protected派生 249
多基派生 249
派生类的构造函数与释放函数 250
虚基类 256
5.2类层次中的访问规则 257
类层次中成员名的作用域 257
类层次中的类转换 260
5.3虚函数 265
方法的多态性与虚函数 265
虚函数的访问 268
纯虚函数与抽象类 273
虚释放函数 276
多基派生中虚函数的二义性 279
习题 282
第六章I/0流 289
6.1概述 289
文件、缓冲区与流 289
三种层次的I/0机制 290
6.2基本插入/提取操作 292
基本插入操作 292
基本提取操作 293
6.3插入/提取格式控制 294
流的格式状态字 294
ios类的格式化方法函数 295
预定义的I/0操纵算子 301
自定义I/0操纵算子 303
6.4流的出错处理 305
流的出错状态 305
测试与设置出错状态位的函数 306
6.5文件操作 307
文件流 307
文件的打开与关闭 307
文本文件的读/写 311
二进制文件的读/写 312
文件的随机读/写 314
设备文件的使用 316
习题 317
参考文献 318