第1章 C++语言概述 1
C++语言与C的关系 2
C++语言的出现 2
C++与C语言的关系 3
C++程序的结构特征 4
简单的C++程序实例 4
C++程序的组成 6
C++程序的书写格式 7
C++程序的实现 7
C++程序的开发环境 7
C++程序的编辑、编译和运行 9
本章总结 13
思考题1 14
上机练习1 14
第2章 数据类型与表达式 15
C++语言的字符集 16
C++语言中可使用的字符 16
C++语言的词法记号 16
数据类型 17
数据类型概述 17
基本数据类型 18
常量、变量 19
常量 19
变量 23
运算符与表达式 26
算术运算符与算术表达式 27
赋值运算符与赋值表达式 29
关系运算符与关系表达式 30
条件运算符与条件表达式 31
逻辑运算符与逻辑表达式 32
逗号运算符与逗号表达式 33
运算符的优先级和结合性 34
表达式中数据类型的转换 35
数据类型的转换 35
赋值类型转换时的副作用 37
逻辑表达式优化时的副作用 38
本章总结 39
思考题2 39
上机练习2 39
第3章 C++程序结构和简单的输入输出 40
简单的输出 41
标准输出流对象cout 41
使用成员函数put()输出字符 44
简单的输入 45
标准输入流对象cin 45
使用成员函数get()读取一个字符 46
C++语句概述 47
单一语句 47
复合语句 47
空语句 48
程序的三种基本结构及流程图 49
程序的三种基本结构 49
流程图 49
顺序结构的实现 51
赋值语句 51
程序设计实例 51
本章总结 52
思考题3 53
上机练习3 53
第4章 流程控制语句 54
if语句 55
单分支if语句 55
双分支if语句 56
多分支if语句 58
switch语句 60
使用条件表达式实现分支结构 64
循环结构及其语句实现 65
for语句 65
while语句 66
do…while语句 68
循环嵌套及其语句实现 70
辅助控制语句 71
break语句 71
continue语句 72
break语句与continue语句的区别 73
程序实例 74
本章总结 79
思考题4 80
上机练习4 80
第5章 数组和字符串 81
问题的提出 82
一维数组 82
一维数组的定义 82
一维数组的初始化 84
一维数组的应用 84
二维数组 87
二维数组的定义 87
二维数组的初始化 89
二维数组的应用 90
字符数组与字符串 92
字符数组的定义 92
字符数组的初始化 92
字符串及字符串的输入输出 93
字符数组的应用 95
字符串处理函数 96
数组应用实例 99
数值计算 99
统计 100
排序 101
查找 105
本章总结 108
思考题5 109
上机练习5 109
第6章 函数 110
函数定义 111
函数的定义 111
函数原型的说明 112
函数的返回值 113
函数调用及参数传递 115
函数的调用语句 115
带默认参数的函数调用 116
函数的参数 118
函数参数的传递方式 119
函数的嵌套调用与递归调用 122
函数的嵌套调用 122
函数的递归调用 123
内联函数 126
函数的重载 128
函数模板 132
变量的存储属性 135
局部变量和全局变量 136
变量的存储类别 139
变量存储属性小结 143
本章总结 143
思考题6 145
上机练习6 145
第7章 编译预处理 146
宏定义 147
不带参数宏定义 147
带参数宏定义 148
文件包含 148
条件编译 150
宏名作为编译条件 150
表达式作为编译条件 151
本章总结 152
思考题7 153
上机练习7 153
第8章 指针与引用 155
指针的概念 156
指针变量的定义及应用 157
指针变量的定义及其初始化 157
指针变量的使用 159
指针的运算 161
指针与数组 163
指针与一维数组 163
指针与二维数组 166
指针与字符串 171
字符指针的定义及初始化 171
使用字符指针处理字符串和字符数组 172
字符指针变量与字符数组的区别 173
指针与函数 174
指针作为函数参数 174
数组作为函数的参数 176
返回指针的函数 178
函数指针 180
指针数组与指向指针的指针 181
指针数组 181
指向指针的指针 184
new与delete运算符的使用 185
new运算符 185
delete运算符 186
引用 187
引用类型变量的说明及使用 187
引用作为函数的参数 189
本章总结 191
思考题8 193
上机练习8 194
第9章 结构体与共用体 195
结构体 196
结构体类型的定义 196
结构体类型变量的定义和初始化 197
结构体变量的使用 199
结构体与数组 201
结构体与指针 205
结构体与函数 206
共同体 207
共同体类型的定义 208
共同体变量的声明及使用 209
枚举类型 213
枚举类型及枚举变量 213
枚举型变量的使用 214
类型定义typedef 215
本章总结 216
思考题9 218
上机练习9 218
第10章 类与对象 219
面向对象的思想 220
面向对象的基本思想 220
面向对象的基本概念 220
类 223
类定义 223
成员函数的实现 224
对象 226
对象的定义 226
对象中的成员引用 226
类成员的访问属性 227
本章总结 229
思考题10 230
上机练习10 230
第11章 构造函数与析构函数 231
构造函数和析构函数概述 232
构造函数 232
带有成员初始化表的构造函数 235
析构函数 237
拷贝构造函数 239
对象数组 241
this指针 244
静态成员 246
静态数据成员 246
静态成员函数 249
友元 251
友元函数 251
友元类 253
本章总结 255
思考题11 257
上机练习11 257
第12章 继承性与派生类 258
继承与派生 259
基类与派生类 259
派生类的定义 260
派生类的成员构成 261
继承方式 261
公有继承方式(public) 262
私有继承方式(private) 264
保护继承方式(protected) 265
派生类的构造函数和析构函数 266
派生类的构造函数 266
派生类的析构函数 273
多继承 275
多继承的定义 275
多继承的构造函数 278
虚基类 281
二义性问题 281
虚基类的引入 283
虚基类及其派生类的构造函数 284
综合实例 286
本章总结 290
思考题12 292
上机练习12 293
第13章 多态性与虚函数 294
多态性及多态的分类 295
虚函数 299
什么是虚函数 299
虚函数的定义和使用规则 300
纯虚函数和抽象类 301
为什么要设计纯虚函数 301
纯虚函数和抽象类 302
本章总结 303
思考题13 304
上机练习13 305
第14章 运算符重载 306
运算符重载基础知识 307
运算符重载的使用规则 307
运算符重载示例 308
对象引用——提高程序效率 312
赋值运算符的重载 314
--运算符的重载 315
本章总结 319
思考题14 320
上机练习14 321
第15章 输入输出流 322
C++的输入输出 323
流(stream) 323
缓冲区(buffer) 323
标准输入输出流 323
C++语言的基本流类系统 323
1/O标准流类 324
流的状态 327
重载“>>”、“<<”运算符 328
文件流 329
文件(file)流概述 329
文件的打开与关闭 329
文件的读写 334
文件缓冲区指针的使用 338
二进制文件的读/写 342
本章总结 343
思考题15 345
上机练习15 346
第16章 模板与异常处理 347
模板 348
函数模板 348
类模板 350
异常处理 351
异常概述 351
异常处理机制 351
异常类 354
本章总结 357
思考题16 359
上机练习16 360
参考文献 361