目 录 1
第一章C/C++概述 1
1.1 发展过程和特点 1
1.2 C/C++的基本符号 2
1.3 C/C++程序结构 3
第二章C语言基本概念(一) 6
2.1 基本数据类型 6
2.2运算符 9
2.3流程控制 13
2.4 函数 20
第三章C语言基本概念(二) 28
3.1 指针 28
3.2结构 33
3.3输入输出函数 37
习题 45
第四章C++对C的基本扩充 49
4.1 注释和输入输出语句 49
4.2数据类型修饰符 50
4.2.1 基本数据类型修饰符 50
4.2.2常量修饰符 51
4.2.3 volatile修饰符 52
4.3作用域说明 53
4.4返回语句 53
4.5函数原型 54
4.6引用 55
4.7 内联函数 58
4.8函数重载 60
4.9动态内存分配和释放 62
4.10结构的扩充 64
习题 65
第五章C++基本要素 68
5.1 类和对象 68
5.1.1 类 68
5.1.2 对象 69
5.1.3对象指针 71
5.1.4 对象数组 71
5.1.5 对象作为函数参数 72
5.2.1 构造函数(constructor) 73
5.2构造函数和析构函数 73
5.2.2析构函数(destructor) 75
5.3内联成员函数 79
5.4类的静态成员 80
5.5友元函数 83
5.6结构和联合的扩充 87
5.7类的动态内存分配和释放 89
5.8应用举例 91
习 题 93
第六章继承 96
6.1 继承 96
6.1.1 单一继承 97
6.1.2 多级继承 100
6.1.3 多重继承 101
6.2派生类中的构造函数和析构函数 102
6.3基类指针和派生类指针 107
6.4友元函数、静态成员与继承关系 109
6.4.1 友元函数与继承关系 109
6.4.2静态成员与继承关系 110
6.5应用举例 111
习 题 118
第七章多态性 121
7.1 函数重载 121
7.2运算符重载 122
7.2.1 成员运算符函数 123
7.2.2友元运算符函数 127
7.2.3重载某些特殊运算符 130
7.3虚函数 133
7.4纯虚函数和抽象类 136
习题 163
9.1什么是数据结构 167
9.2数据结构的分类 170
9.3数据结构与算法关系 170
10.1向量 172
10.2数组 176
10.3栈 178
10.4队列 184
习题 186
11.1单链表 188
第十一章链表 188
11.2循环链表 195
11.3双向循环链表 197
11.4链式栈和链式队列 203
习题 205
12.1树的基术语 207
12.2树的逻辑结构和物理结构 208
12.3树结构的应用概述 209
12.4二叉树和穿线树 211
12.4.1二叉树的概念 212
12.4.2二叉树的物理表示 214
12.4.3周游二叉树 215
12.4.4 穿线树 221
12.4.5一般树的二叉树表示 224
12.5树的分类和查找 225
12.5.1分类二叉树 225
12.5.2哈夫曼树 229
习题 233
第十三章图 235
13.1图的基本术语 235
13.2图的物理表示 237
13.3图的周游和生成树 240
13.4最短路径 246
13.5拓扑排序 254
习 题 260
参考文献 261