第一部分 基础知识 2
第1章 C++语言概述 2
1.1 编程语言的发展 2
1.2 C++语言的特点 4
1.3 面向对象程序设计方法概述 5
1.4 C++语言的语法规则与书写格式 6
1.5 简单的C++程序 7
1.6 C++程序的实现 8
思考与练习 10
第2章 数据类型、运算符与表达式 11
2.1 基本数据类型 11
2.2 数据类型转换 15
2.3 C++运算符与表达式 16
思考与练习 25
第3章 程序流程控制结构 27
3.1 C++语句和程序结构概述 27
3.2 选择结构 29
3.3 循环结构 35
3.4 goto语句 41
思考与练习 42
第4章 数组 49
4.1 一维数组 49
4.2 二维数组 53
4.3 字符数组 56
思考与练习 61
第5章 指针与引用 66
5.1 指针的概念 66
5.2 指针变量 67
5.3 指针运算 71
5.4 指针与数组 73
5.5 动态内存分配 77
5.6 引用 81
思考与练习 83
第6章 函数 86
6.1 函数定义的一般形式 86
6.2 函数调用 91
6.3 变量及作用域 95
6.4 内部函数和外部函数 100
6.5 函数与数组 102
6.6 函数与指针 105
6.7 内联函数 109
6.8 函数的默认参数 111
6.9 函数重载 112
6.10 函数的嵌套调用 114
6.11 函数的递归调用 115
思考与练习 116
第7章 自定义数据类型 119
7.1 结构体 119
7.2 枚举类型 127
7.3 用typedef定义类型 129
思考与练习 130
第二部分 面向对象程序设计 132
第8章 类与对象 132
8.1 面向对象的程序设计概述 132
8.2 类的对象 137
8.3 this指针 140
8.4 构造函数与析构函数 140
8.5 对象与指针 150
8.6 对象数组 152
8.7 常对象与常成员 152
思考与练习 155
第9章 静态数据成员与友元 162
9.1 静态成员 162
9.2 友元 168
思考与练习 173
第10章 运算符重载 178
10.1 运算符重载的概念 178
10.2 运算符重载的基本方法 179
10.3 运算符重载的一般规则 180
10.4 用成员函数重载运算符 181
10.5 用友元函数重载运算符 185
10.6 重载++、--运算符 191
10.7 重载赋值运算符 194
10.8 重载[]运算符 195
10.9 重载类型转换符 197
思考与练习 198
第11章 继承与派生 204
11.1 继承与派生的概念 204
11.2 派生类的定义 206
11.3 派生类的构成 208
11.4 类的继承方式 209
11.5 派生类的构造函数和析构函数 214
11.6 多重继承 217
11.7 虚基类 221
11.8 赋值兼容规则 225
11.9 应用举例 226
思考与练习 229
第12章 虚函数与多态性 237
12.1 编译时的多态性与运行时的多态性 237
12.2 虚函数 241
12.3 虚析构函数 243
12.4 纯虚函数与抽象类 244
思考与练习 248
第13章 文件流与文件操作 249
13.1 文件流与文件类型 249
13.2 文件流与文件流对象 250
13.3 文件操作的流程 250
13.4 文本文件的读写操作 252
13.5 二进制文件的读写操作 254
13.6 文件的随机访问 257
思考与练习 260
参考文献 262