第1章 C++语言概述 1
1.1 面向对象的概念 1
1.1.1 面向对象方法的由来 1
1.1.2 面向对象的基本概念 2
1.2 C++语言的特点 3
1.2.1 C++语言是面向对象的程序设计语言 3
1.2.2 C++语言继承了C语言 4
1.2.3 C++语言对C语言进行了改进 4
1.3 C++程序在结构上的特点 5
1.3.1 C++程序举例 5
1.3.2 C++程序结构上的特点 8
1.4 C++程序的实现 8
1.4.1 C++程序的编辑、编译和运行 8
1.4.2 C++程序实现举例 9
练习题1 13
上机指导1 16
第2章 变量和表达式 17
2.1 C++语言的字符集和单词 17
2.1.1 C++语言字符集 17
2.1.2 单词及其词法规则 17
2.2 常量 19
2.2.1 常量的种类 19
2.2.2 符号常量 23
2.3 变量 24
2.3.1 变量的三要素 24
2.3.2 变量的定义格式 26
2.3.3 变量的作用域 28
2.4 运算符和表达式 30
2.4.1 运算符的种类和功能 30
2.4.2 运算符的优先级和结合性 33
2.4.3 表达式的值和类型 34
2.4.4 表达式求值举例 35
2.5 类型转换 40
2.5.1 自动转换 40
2.5.2 强制转换 41
2.6 数组 41
2.6.1 数组的定义格式和数组元素的表示方法 41
2.6.2 数组的赋值 43
2.6.3 字符数组和字符串 47
练习题2 52
上机指导2 61
第3章 语句和预处理 64
3.1 表达式语句和复合语句 64
3.1.1 表达式语句和空语句 64
3.1.2 复合语句和分程序 65
3.2 选择语句 65
3.2.1 条件语句 65
3.2.2 开关语句 68
3.3 循环语句 70
3.3.1 while循环语句 70
3.3.2 do-while循环语句 72
3.3.3 for循环语句 73
3.3.4 多重循环 75
3.4 转向语句 77
3.4.1 goto语句 77
3.4.2 break语句 78
3.4.3 continue语句 79
3.5 类型定义语句 79
3.6 预处理功能 81
3.6.1 文件包含命令 81
3.6.2 宏定义命令 82
练习题3 84
上机指导3 89
第4章 指针和引用 90
4.1 指针和指针的定义格式 90
4.1.1 什么是指针 90
4.1.2 指针的定义格式 91
4.2 指针的运算 92
4.2.1 指针的赋值运算和增值运算 92
4.2.2 指针的比较运算和相减运算 94
4.2.3 指针运算和地址运算 95
4.3 指针和数组 96
4.3.1 指针可表示数组元素 96
4.3.2 字符指针和字符串处理函数 99
4.3.3 指向数组的指针和指针数组 102
4.4 引用 105
4.4.1 引用和引用的创建方法 105
4.4.2 引用和指针 107
练习题4 108
上机指导4 113
第5章 函数 114
5.1 函数的定义和说明 114
5.1.1 函数的定义 114
5.1.2 函数的说明方法 116
5.2 函数的参数和返回值 117
5.2.1 函数的参数 117
5.2.2 设置函数参数的默认值 118
5.2.3 函数返回值的实现 120
5.3 函数的调用 121
5.3.1 函数的传值调用 121
5.3.2 函数的引用调用 123
5.3.3 函数的嵌套调用 124
5.4 指针和引用作函数参数和返回值 126
5.4.1 指针作函数参数和返回值 126
5.4.2 引用作函数参数和返回值 127
5.5 重载函数和内联函数 129
5.5.1 重载函数 129
5.5.2 内联函数 132
5.6 函数的存储类 133
5.6.1 外部函数 133
5.6.2 内部函数 135
练习题5 136
上机指导5 142
第6章 类和对象(一) 143
6.1 类的定义格式和对象的定义方法 143
6.1.1 类的定义格式 143
6.1.2 对象的定义方法 146
6.1.3 对象成员的表示 147
6.2 对象的初始化 149
6.2.1 构造函数的功能、种类和特点 149
6.2.2 析构函数的功能和特点 150
6.3 数据成员的类型和成员函数的特性 153
6.3.1 类中数据成员类型的规定 153
6.3.2 成员函数的特性 154
6.4 静态成员 157
6.4.1 静态数据成员 157
6.4.2 静态成员函数 159
6.5 常成员 161
6.5.1 常数据成员 161
6.5.2 常成员函数 162
6.6 友元函数和友元类 164
6.6.1 友元函数 164
6.6.2 友元类 165
6.7 类型转换 167
6.7.1 类型的隐含转换 167
6.7.2 一般数据类型转换为类类型 167
6.7.3 类类型转换为一般数据类型 168
练习题6 170
上机指导6 177
第7章 类和对象(二) 179
7.1 对象指针和对象引用 179
7.1.1 对象指针 179
7.1.2 this指针 183
7.1.3 对象引用 185
7.2 对象数组和对象指针数组 186
7.2.1 对象数组 186
7.2.2 对象指针数组 188
7.2.3 指向对象数组的指针 189
7.3 子对象和堆对象 191
7.3.1 子对象 191
7.3.2 堆对象 193
7.4 类的作用域和对象的生存期 197
7.4.1 类的作用域 197
7.4.2 对象的生存期 198
7.5 结构的应用 200
7.5.1 结构变量和结构数组 200
7.5.2 使用struct定义类 204
练习题7 205
上机指导7 213
第8章 继承性和派生类 216
8.1 继承的概念 216
8.1.1 基类和派生类 216
8.1.2 单重继承和多重继承 217
8.1.3 派生类的定义格式 218
8.1.4 派生类成员的访问权限 219
8.2 单重继承 224
8.2.1 单重继承派生类的构造函数和析构函数 224
8.2.2 子类型和赋值兼容规则 231
8.3 多重继承 234
8.3.1 多重继承派生类的构造函数和析构函数 234
8.3.2 多重继承的二义性 237
练习题8 241
上机指导8 247
第9章 多态性和虚函数 250
9.1 运算符重载 250
9.1.1 运算符重载的概念 250
9.1.2 运算符重载的两种方法 251
9.1.3 运算符重载举例 256
9.2 静态联编和动态联编 260
9.2.1 联编的概念 260
9.2.2 虚函数 264
9.2.3 动态联编 266
9.2.4 虚析构函数 269
9.3 纯虚函数和抽象类 271
9.3.1 纯虚函数 271
9.3.2 抽象类 272
练习题9 273
上机指导9 281
第10章 C++语言文件的输入/输出操作 282
10.1 I/O流类库概述 282
10.1.1 输入/输出流 282
10.1.2 I/O流类库的主要功能 283
10.2 标准文件的输入/输出操作 283
10.2.1 屏幕输出操作 284
10.2.2 键盘输入操作 287
10.3 格式输出操作 291
10.3.1 使用流对象的成员函数进行格式输出 291
10.3.2 使用控制符进行格式输出 294
10.4 磁盘文件的操作 295
10.4.1 打开文件和关闭文件操作 296
10.4.2 文件的输入/输出操作 297
10.4.3 随机文件操作 301
练习题10 303
上机指导10 308
附录A 字符的ASCII码表 309
附录B Microsoft Visual C++ 6.0集成开发工具简介 310