目录 1
第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 Microsoft Visual C++6.0集成开发工具简介 9
1.4.3 C++程序实现举例 16
练习题1 20
上机指导1 24
第2 章变量和表达式 25
2.1 C++语言的字符集和单词 25
2.1.1 C++语言字符集 25
2.1.2 单词及其词法规则 25
2.2 数据类型和存储类 27
2.2.1 数据类型 27
2.2.2 存储类 28
2.3 常量 29
2.3.1 常量的种类 30
2.3.2 符号常量 33
2.4 变量 35
2.4.1 变量的三要素 35
2.4.2 变量的定义格式 36
2.4.3 变量的作用域 39
2.5 运算符 41
2.5.1 运算符的种类和功能 41
2.5.2 运算符的优先级和结合性 44
2.6 表达式 45
2.6.1 表达式的值和类型 45
2.6.2 表达式求值举例 46
2.7 类型转换 52
2.7.1 自动转换 52
2.7.2 强制转换 52
练习题2 52
6.5.2 函数的递归调用 55
上机指导2 58
3.1 表达式语句和复合语句 60
3.1.1 表达式语句和空语句 60
第3章 语句和预处理 60
3.2.1 条件语句 61
3.2 选择语句 61
3.1.2 复合语句和分程序 61
3.2.2 开关语句 64
3.3 循环语句 66
3.3.1 while循环语句 66
3.3.2 do-while循环语句 68
3.3.3 for循环语句 70
3.3.4 多重循环 72
3.4 转向语句 76
3.4.1 goto语句 76
3.4.2 break语句 76
3.4.3 continue语句 77
3.4.4 return语句 78
3.5 类型定义语句 78
3.6 预处理功能 79
3.6.1 文件包含命令 80
3.6.2 宏定义命令 81
3.6.3 条件编译命令 82
练习题3 84
上机指导3 89
第4章 数组 91
4.1 数组的定义格式和数组元素的表示方法 91
4.1.1 数组的定义格式 91
4.1.2 数组元素的表示方法 92
4.2 数组的赋值 93
4.2.1 数组的初始化 93
4.2.2 数组的赋值 95
4.3 字符数组和字符串 98
4.3.1 字符数组的定义和赋值 98
4.3.2 字符串的输入和输出 100
4.4 数组的应用 103
4.4.1 一维数组的应用 103
4.4.2 二维数组的应用 106
练习题4 108
上机指导4 113
第5章 指针和引用 115
5.1 指针和指针的定义格式 115
5.1.1 什么是指针 115
5.1.2 指针的定义格式 116
5.2 指针的运算 117
5.2.1 指针的赋值运算和增值运算 117
5.2.2 指针的比较运算和相减运算 119
5.2.3 指针运算和地址运算 120
5.3 指针和数组 121
5.3.1 指针可表示数组元素 121
5.3.2 字符指针和字符串处理函数 124
5.3.3 指向数组的指针和指针数组 127
5.4.1 引用和引用的创建方法 130
5.4 引用 130
5.4.2 引用和指针 132
练习题5 133
上机指导5 138
第6章 函数 139
6.1 函数的定义和说明 139
6.1.1 函数的定义 139
6.1.2 函数的说明方法 141
6.2 函数的参数和返回值 142
6.2.1 函数的参数 142
6.2.2 设置函数参数的默认值 143
6.2.3 函数返回值的实现 145
6.3 函数的调用 146
6.3.1 函数的传值调用 146
6.3.2 函数的引用调用 148
6.4.1 指针作函数参数和返回值 149
6.4 指针和引用作函数参数和返回值 149
6.4.2 引用作函数参数和返回值 150
6.5 函数的嵌套调用和递归调用 153
6.5.1 函数的嵌套调用 153
6.6 重载函数和内联函数 158
6.6.1 重载函数 158
6.6.2 内联函数 161
6.7 函数的存储类 162
6.7.1 外部函数 162
6.7.2 内部函数 163
练习题6 165
上机指导6 170
第7章 结构和联合 172
7.1 结构的概念 172
7.1.1 结构类型和结构变量的定义 172
7.1.2 结构成员的表示和结构变量的赋值 174
7.2 结构与数组 177
7.2.1 数组作结构成员 177
7.2.2 结构变量作数组元素 178
7.3 结构与函数 180
7.3.1 结构变量作函数参数和返回值 180
7.3.2 指向结构变量的指针作函数参数和返回值 182
7.3.3 结构变量的引用作函数参数 185
7.4 联合的概念 186
7.4.1 联合类型和联合变量的定义 187
7.4.2 联合与结构的异同 188
7.5 联合的应用 190
练习题7 191
上机指导7 195
8.1.1 类的定义格式 197
8.1 类的定义格式和对象的定义方法 197
第8章 类和对象(一) 197
8.1.2 对象的定义方法 200
8.1.3 对象成员的表示 201
8.2 对象的初始化 203
8.2.1 构造函数的功能、种类和特征 203
8.2.2 析构函数的功能和特点 204
8.3 数据成员的类型和成员函数的特性 209
8.3.1 类中数据成员类型的规定 209
8.3.2 成员函数的特性 209
8.4 静态成员 213
8.4.1 静态数据成员 213
8.4.2 静态成员函数 215
8.5 常成员 216
8.5.1 常数据成员 216
8.5.2 常成员函数 218
8.6.1 友元函数 219
8.6 友元函数和友元类 219
8.6.2 友元类 222
8.7 类型转换 224
8.7.1 类型的隐含转换 224
8.7.2 一般数据类型转换为类类型 224
8.7.3 类类型转换为一般数据类型 225
练习题8 226
上机指导8 234
第9章 类和对象(二) 236
9.1 对象指针和对象引用 236
9.1.1 对象指针 236
9.1.2 this指针 240
9.1.3 指向类的成员的指针 242
9.1.4 对象引用 244
9.2.1 对象数组 246
9.2 对象数组和对象指针数组 246
9.2.2 对象指针数组 248
9.2.3 指向对象数组的指针 249
9.3 子对象和堆对象 250
9.3.1 子对象 250
9.3.2 堆对象 252
9.4.1 类的作用域 258
9.4.2 对象的生存期 258
9.4 类的作用域和对象的生存期 258
9.4.3 局部类和嵌套类 260
9.5 类和对象的应用实例 263
练习题9 267
上机指导9 275
第10章 继承性和派生类 279
10.1 继承的概念 279
10.1.1 基类和派生类 279
10.1.2 单重继承和多重继承 280
10.1.3 派生类的定义格式 281
10.1.4 派生类成员的访问权限 282
10.2 单重继承 287
10.2.1 派生类的构造函数和析构函数 287
10.2.2 子类型和赋值兼容规则 295
10.3 多重继承 298
10.3.1 多重继承派生类的构造函数和析构函数 299
10.3.2 多重继承的二义性 302
10.4 虚基类 305
10.4.1 虚基类的概念 305
10.4.2 虚基类的应用举例 307
10.5 继承性和派生类应用举例 308
练习题10 310
上机指导10 319
11.1.1 运算符重载的概念 322
11.1 运算符重载 322
第11章 多态性和虚函数 322
11.1.2 运算符重载的两种方法 323
11.1.3 运算符重载举例 328
11.2 静态联编和动态联编 334
11.2.1 联编的概念 334
11.2.2 虚函数 338
11.2.3 动态联编 340
11.2.4 虚析构函数 343
11.3 纯虚函数和抽象类 344
11.3.1 纯虚函数 345
11.3.2 抽象类 346
11.4 应用举例 347
练习题11 350
上机指导11 358
12.1 I/O流类库概述 360
12.1.1 输入/输出流 360
第12章 C++语言的输入/输出操作 360
12.1.2 I/O流类库的主要功能 361
12.2 标准文件的输入/输出操作 362
12.2.1 屏幕输出操作 362
12.2.2 键盘输入操作 365
12.3 格式输出操作 369
12.3.1 使用流对象的成员函数进行格式输出 370
12.3.2 使用控制符进行格式输出 373
12.4 磁盘文件的操作 374
12.4.1 打开文件和关闭文件操作 374
12.4.2 文件的输入/输出操作 376
12.4.3 随机文件操作 380
12.4.4 文件操作的其他函数 381
12.5 字符串流输入/输出操作 384
12.5.1 字符串流的输出操作 384
12.5.2 字符串流的输入操作 385
12.6 流错误处理 386
12.6.1 错误状态字和状态函数 386
12.6.2 清除/设置错误状态位 387
练习题12 388
上机指导12 394
第13章 C++语言工具 395
13.1 模板 395
13.1.1 模板的概念 395
13.1.2 函数模板 397
13.1.3 类模板 401
13.2 异常处理 408
13.2.1 异常和异常处理 408
13.2.2 异常处理的实现 409
13.2.3 异常处理举例 412
练习题13 416
上机指导13 423