第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语言 3
1.2.3 C++语言对C语言进行了改进 4
1.3 C++程序在结构上的特点 4
1.3.1 C++程序举例 5
1.3.2 C++程序结构上的特点 7
1.4 C++程序的实现 7
1.4.1 C++程序的编辑、编译和运行 7
1.4.2 C++程序实现举例 8
练习题1 12
上机指导1 14
第2章 变量和表达式 16
2.1 C++语言的字符集和单词 16
2.1.1 C++语言字符集 16
2.1.2单词及其词法规则 16
2.2常量 18
2.2.1常量的种类 18
2.2.2符号常量 21
2.3变量 22
2.3.1变量的三要素 22
2.3.2变量的定义格式 24
2.3.3变量的作用域 25
2.4运算符和表达式 27
2.4.1运算符的种类和功能 27
2.4.2运算符的优先级和结合性 30
2.4.3表达式的值和类型 31
2.4.4表达式求值举例 32
2.5类型转换 36
2.5.1自动转换 36
2.5.2强制转换 37
2.6数组 37
2.6.1数组的定义格式和数组元素的表示方法 37
2.6.2数组的赋值 39
2.6.3字符数组和字符串 42
练习题2 46
上机指导2 54
第3章 语句和预处理 56
3.1表达式语句和复合语句 56
3.1.1表达式语句和空语句 56
3.1.2复合语句和分程序 57
3.2选择语句 57
3.2.1条件语句 57
3.2.2开关语句 59
3.3循环语句 61
3.3.1 while循环语句 61
3.3.2 do-while循环语句 62
3.3.3 for循环语句 63
3.3.4多重循环 65
3.4转向语句 67
3.4.1 goto语句 67
3.4.2 break语句 68
3.4.3 continue语句 68
3.5类型定义语句 69
3.6预处理功能 70
3.6.1文件包含命令 70
3.6.2宏定义命令 71
练习题3 72
上机指导3 77
第4章 指针和引用 78
4.1指针和指针的定义格式 78
4.1.1什么是指针 78
4.1.2指针的定义格式 79
4.2指针的运算 80
4.2.1指针的赋值运算和增值运算 80
4.2.2指针的比较运算和相减运算 81
4.2.3指针运算和地址运算 82
4.3指针和数组 83
4.3.1指针可表示数组元素 83
4.3.2字符指针和字符串处理函数 86
4.3.3指向数组的指针和指针数组 88
4.4引用 90
4.4.1引用和引用的创建方法 91
4.4.2引用和指针 92
练习题4 93
上机指导4 97
第5章 函数 98
5.1函数的定义和说明 98
5.1.1函数的定义 98
5.1.2函数的说明方法 100
5.2函数的参数和返回值 100
5.2.1函数的参数 100
5.2.2设置函数参数的默认值 101
5.2.3函数返回值的实现 103
5.3函数的调用 104
5.3.1函数的传值调用 104
5.3.2函数的引用调用 105
5.3.3函数的嵌套调用 106
5.4指针和引用作函数参数和返回值 107
5.4.1指针作函数参数和返回值 107
5.4.2引用作函数参数和返回值 109
5.5重载函数和内联函数 110
5.5.1重载函数 110
5.5.2内联函数 113
5.6函数的存储类 113
5.6.1外部函数 114
5.6.2内部函数 115
练习题5 116
上机指导5 120
第6章 类和对象(一) 122
6.1类的定义格式和对象的定义方法 122
6.1.1类的定义格式 122
6.1.2对象的定义方法 124
6.1.3对象成员的表示 125
6.2对象的初始化 127
6.2.1构造函数的功能、种类和特点 127
6.2.2析构函数的功能和特点 128
6.3数据成员的类型和成员函数的特性 130
6.3.1类中数据成员类型的规定 130
6.3.2成员函数的特性 131
6.4静态成员 133
6.4.1静态数据成员 133
6.4.2静态成员函数 135
6.5常成员 136
6.5.1常数据成员 136
6.5.2常成员函数 137
6.6友元函数和友元类 138
6.6.1友元函数 139
6.6.2友元类 140
6.7类型转换 141
6.7.1类型的隐含转换 141
6.7.2一般数据类型转换为类类型 142
6.7.3类类型转换为一般数据类型 142
练习题6 143
上机指导6 149
第7章 类和对象(二) 151
7.1对象指针和对象引用 151
7.1.1对象指针 151
7.1.2 this指针 154
7.1.3对象引用 155
7.2对象数组和对象指针数组 157
7.2.1对象数组 157
7.2.2对象指针数组 158
7.2.3指向对象数组的指针 159
7.3子对象和堆对象 160
7.3.1子对象 160
7.3.2堆对象 162
7.4类的作用域和对象的生存期 165
7.4.1类的作用域 166
7.4.2对象的生存期 166
7.5结构的应用 167
7.5.1结构变量和结构数组 168
7.5.2使用struct定义类 171
练习题7 172
上机指导7 178
第8章 继承性和派生类 181
8.1继承的概念 181
8.1.1基类和派生类 181
8.1.2单重继承和多重继承 182
8.1.3派生类的定义格式 182
8.1.4派生类成员的访问权限 183
8.2单重继承 187
8.2.1单重继承派生类的构造函数和析构函数 187
8.2.2子类型和赋值兼容规则 193
8.3多重继承 195
8.3.1多重继承派生类的构造函数和析构函数 196
8.3.2多重继承的二义性 198
练习题8 201
上机指导8 206
第9章 多态性和虚函数 209
9.1运算符重载 209
9.1.1运算符重载的概念 209
9.1.2运算符重载的两种方法 210
9.1.3运算符重载举例 214
9.2静态联编和动态联编 217
9.2.1联编的概念 217
9.2.2虚函数 220
9.2.3动态联编 221
9.2.4虚析构函数 224
9.3纯虚函数和抽象类 225
9.3.1纯虚函数 225
9.3.2抽象类 226
练习题9 227
上机指导9 233
第10章 C+语言文件的输入/输出操作 234
10.1 I/O流类库概述 234
10.1.1输入/输出流 234
10.1.2 I/O流类库的主要功能 234
10.2标准文件的输入/输出操作 235
10.2.1屏幕输出操作 235
10.2.2键盘输入操作 238
10.3格式输出操作 241
10.3.1使用流对象的成员函数进行格式输出 242
10.3.2使用控制符进行格式输出 244
10.4磁盘文件的操作 245
10.4.1打开文件和关闭文件操作 245
10.4.2文件的输入/输出操作 247
10.4.3随机文件操作 250
练习题10 251
上机指导10 255
第11章 模板 257
11.1模板的基本概念 257
11.2函数模板 257
11.2.1函数模板的定义格式 257
11.2.2函数模板与模板函数 260
11.3类模板 261
11.3.1类模板的定义格式 261
11.3.2类模板继承 265
练习题11 266
上机指导11 269
第12章 数据结构 271
12.1几种常用的数据结构 271
12.1.1栈 271
12.1.2队列 274
12.1.3线性链表 276
12.1.4二叉树 280
12.2查找和排序运算 284
12.2.1查找运算 284
12.2.2排序运算 290
练习题12 292
上机指导12 297
第13章 异常处理和命名空间 298
13.1异常处理 298
13.1.1 C++的异常处理机制 298
13.1.2异常与继承 305
13.1.3构造函数和析构函数的异常处理 306
13.2命名空间 308
13.2.1命名空间的定义和使用方法 308
13.2.2简化使用命名空间成员 311
13.2.3标准命名空间 313
练习题13 313
上机指导13 318
附录A字符的ASCII码表 320
附录B Microsoft Visual C++6.0集成开发工具简介 322
附录C C++标准库简介 329
参考文献 332