1 C++概述 1
1.1 C++简介 1
1.2 C++程序示例 2
1.3 C++程序的实现 5
2 C++语言基础 8
2.1 标识符 8
2.2 数据类型 9
2.3 变量 10
2.4 常量 11
2.5 运算符和表达式 14
3 C++程序结构 24
3.1 程序设计和算法 24
3.2 C++程序的语句 27
3.3 顺序结构 28
3.4 选择结构 32
3.5 循环结构 44
3.6 控制语句 50
3.7 程序举例 52
4 函数 57
4.1 概述 57
4.2 定义函数的一般形式 58
4.3 函数的调用 59
4.4 函数参数和函数的返回值 61
4.5 函数的原型声明 63
4.6 内联函数 64
4.7 函数的嵌套调用和递归调用 65
4.8 函数的重载 70
4.9 变量的作用域 72
4.10 变量的存储类型 76
4.11 编译预处理 80
5 数组 88
5.1 概述 88
5.2 一维数组 88
5.3 二维数组 94
5.4 数组作为函数的参数 100
5.5 字符数组 105
6 结构体、共同体和枚举型 116
6.1 结构体类型 116
6.2 共同体 125
6.3 枚举类型 126
6.4 用typedef定义类型 130
7 指针 132
7.1 指针与地址 132
7.2 指针变量 133
7.3 指针与数组 136
7.4 指针与字符串 146
7.5 指针与函数 147
7.6 指向指针的指针变量 154
7.7 指针数据类型小结 156
7.8 动态分配和撤消内存的运算符new和delete 156
7.9 引用 158
8 链表 164
8.1 概述 164
8.2 创建结点 166
8.3 建立链表 167
8.4 对链表的操作 169
8.5 链表的程序举例 174
9 类和对象 178
9.1 面向对象的程序设计方法简介 178
9.2 类和对象的基本概念 179
9.3 类的成员函数 182
9.4 this指针 184
10 构造函数与析构函数 188
10.1 构造函数 188
10.2 析构函数 196
10.3 构造函数和析构函数的调用时机 200
10.4 对象成员 201
11 友元与静态成员 206
11.1 友元 206
11.2 静态成员 209
12 运算符重载 217
12.1 运算符重载的引入 217
12.2 运算符重载的基本概念 218
12.3 通过成员函数实现运算符重载 220
12.4 通过友元函数实现运算符重载 221
12.5 “++”自增运算符的重载 224
12.6 “=”赋值运算符的重载 227
13 继承和派生类 232
13.1 继承 232
13.2 访问控制 235
13.3 初始化基类成员 239
13.4 冲突、支配规则和赋值兼容规则 243
13.5 虚基类 246
14 多态性与虚函数 256
14.1 静态联编与动态联编 256
14.2 虚函数 259
14.3 纯虚函数和抽象类 268
14.4 抽象类的实例 272
15 C++流和文件流 279
15.1 C++流的概念 279
15.2 格式化I/O 282
15.3 重载I/O运算符 290
15.4 文件流 293
附录一 ASCII码表完整版(十进制) 307
附录二 C++关键字一览表 308
附录三 运算符优先级、结合性一览表 309
附录四 常用函数和头文件一览表 309
参考书目 313