第1章C+语言概述 1
1.1面向对象语言简介 1
1.1.1面向对象的概念 1
1.1.2编程语言的发展 2
1.1.3面向对象语言的特点 3
1.2 C语言与C++语言的关系 3
1.2.1 C+++语言对C语言的改进 4
1.2.2 C+++语言对面向对象方法的支持 4
1.3 C++语言的词法和词法规则 4
1.3.1 C+++语言的字符集 4
1.3.2单词及词法规则 5
1.4 C++程序结构上的特点 6
1.4.1 C+++程序的两个实例 6
1.4.2 C+++程序结构特点 7
1.4.3 C+++程序的书写格式 8
1.5 C++程序的实现 8
1.5.1 C+++程序的编辑、编译和运行 8
1.5.2 Visual C+++ 6.0编译系统的用法简介 9
1.6上机练习指导 13
习题1 15
第2章 变量和常量 18
2.1数据类型 18
2.1.1基本数据类型 18
2.1.2自定义数据类型 19
2.2变量 19
2.2.1变量的名字 19
2.2.2变量的类型 20
2.2.3变量的值 20
2.3常量 21
2.3.1整型常量 21
2.3.2浮点型常量 21
2.3.3字符型常量 22
2.3.4字符串常量 23
2.3.5枚举常量 23
2.3.6常量的定义格式 25
2.4数组 26
2.4.1数组的定义格式 26
2.4.2数组元素的表示 26
2.4.3数组的赋值 27
2.4.4字符数组 28
2.5键盘输入和屏幕输出 30
2.5.1键盘输入 30
2.5.2屏幕输出 31
2.6上机练习指导 32
习题2 35
第3章 运算符和表达式 38
3.1运算符的种类及其功能 38
3.1.1算术运算符 38
3.1.2关系运算符 39
3.1.3逻辑运算符 39
3.1.4位操作运算符 40
3.1.5赋值运算符 40
3.1.6其他运算符 41
3.2运算符的优先级和结合性 43
3.2.1运算符的优先级 43
3.2.2运算符的结合性 44
3.3表达式 44
3.3.1表达式的种类 44
3.3.2表达式的值和类型 45
3.4类型转换 50
3.4.1保值的隐式转换 50
3.4.2强制转换 51
3.5类型定义 51
3.6上机练习指导 52
习题3 54
第4章 语句和预处理 58
4.1表达式语句和复合语句 58
4.1.1表达式语句和空语句 58
4.1.2复合语句和分程序 59
4.2选择语句 59
4.2.1条件语句 59
4.2.2开关语句 62
4.3循环语句 65
4.3.1 while循环语句 65
4.3.2 do-while循环语句 66
4.3.3 for循环语句 67
4.3.4多重循环 69
4.4转向语句 72
4.4.1 goto语句 72
4.4.2 break语句 73
4.4.3 continue语句 74
4.5预处理功能 74
4.5.1宏定义命令 75
4.5.2文件包含命令 77
4.5.3条件编译命令 78
4.6上机练习指导 79
习题4 84
第5章 函数和存储类 89
5.1函数的定义和说明 89
5.1.1函数的定义格式 90
5.1.2函数的说明方法 91
5.2函数的参数和返回值 91
5.2.1函数参数的求值顺序 91
5.2.2设置函数参数的默认值 92
5.2.3函数的返回值 93
5.3函数的调用方式 94
5.3.1函数的传值调用 94
5.3.2函数的引用调用 95
5.4函数的嵌套调用和递归调用 95
5.4.1函数的嵌套调用 95
5.4.2函数的递归调用 97
5.5内联函数和重载函数 100
5.5.1内联函数 100
5.5.2重载函数 101
5.6标识符的作用域 104
5.6.1作用域规则 104
5.6.2作用域种类 104
5.6.3关于重新定义标识符的作用域规定 105
5.7变量的存储类 106
5.7.1自动类变量和寄存器类变量 106
5.7.2外部类变量 107
5.7.3静态类变量 108
5.8函数的存储类 111
5.8.1内部函数 111
5.8.2外部函数 112
5.9上机练习指导 113
习题5 121
第6章 指针与引用 126
6.1指针 126
6.1.1指针的概念 126
6.1.2指针定义格式 127
6.1.3指针的赋值 127
6.1.4指针的运算 128
6.2指针与数组 130
6.2.1数组名是一个指针常量 130
6.2.2数组元素的指针表示 131
6.2.3字符数组、字符指针和字符串处理函数 133
6.2.4指向数组的指针和指针数组 136
6.3指针与函数 138
6.3.1指针用作函数参数 138
6.3.2指向函数的指针和指针函数 139
64引用 141
6.4.1引用的概念 141
6.4.2引用的应用 143
65上机练习指导 146
习题6 153
第7章 结构和联合 158
7.1结构 158
7.1.1结构和结构变量的定义 158
7.1.2结构变量成员的表示 159
7.1.3结构变量的赋值 160
7.1.4结构变量的运算 160
7.2结构与数组 162
7.2.1数组作为结构成员 162
7.2.2结构变量作为数组元素 162
7.3结构与函数 165
7.3.1结构变量和指向结构变量的指针作为函数参数 165
7.3.2结构变量和指向结构变量的指针作为函数返回值 167
7.4联合 169
7.4.1联合的概念 169
7.4.2联合的应用 171
7.5上机练习指导 174
习题7 176
第8章 类和简单对象 180
8.1类的定义 180
8.1.1类的概念 180
8.1.2类的定义格式 180
8.1.3类定义举例 182
8.2对象的定义和成员表示 184
8.2.1对象的定义格式 184
8.2.2对象的成员表示 184
8.3构造函数和析构函数 186
8.3.1构造函数和析构函数的特点及功能 186
8.3.2拷贝构造函数和默认拷贝构造函数 188
8.3.3拷贝构造函数的其他用处 190
8.4成员函数的特征 192
8.4.1内联函数和外联函数 192
8.4.2成员函数的重载性 193
8.4.3成员函数可以设置参数默认值 194
8.5静态成员 195
8.5.1静态数据成员 195
8.5.2静态成员函数 197
8.6 常成员 198
8.6.1常数据成员 198
8.6.2常成员函数 199
8.7指向成员的指针 200
8.7.1指向数据成员的指针 200
8.7.2指向成员函数的指针 201
8.8友元函数和友元类 202
8.8.1友元函数 202
8.8.2友元类 204
8.9上机练习指导 205
习题8 210
第9章 复杂对象 217
9.1对象指针和对象引用 217
9.1.1指向对象的指针和对象引用 217
9.12 this指针 219
9.2对象数组和对象指针数组 220
9.2.1对象数组 220
9.2.2指向对象数组的指针 222
9.2.3对象指针数组 223
9.3一般常量和常对象 224
9.3.1一般常量 224
9.3.2常对象 225
9.4子对象和堆对象 227
9.4.1子对象 227
9.4.2堆对象 229
9.5类型转换和转换函数 234
9.5.1类型的隐含转换 234
9.5.2构造函数的类型转换功能 234
9.5.3类型转换函数 235
9.6类作用域和对象的生存期 236
9.6.1类作用域 236
9.6.2对象的生存期 237
9.6.3局部类和嵌套类 238
9.7上机练习指导 241
习题9 247
第10章 继承性和派生类 255
10.1基类和派生类 255
10.1.1派生类的定义格式 256
10.1.2继承的3种方式 257
10.1.3基类与派生类的关系 260
10.2单继承 260
10.2.1派生类对基类成员的访问权限 260
10.2.2派生类的构造函数和析构函数 263
10.2.3子类型和赋值兼容规则 269
10.3多继承 271
10.3.1多继承的概念 271
10.3.2多继承派生类的构造函数 272
10.3.3多继承中的二义性问题 274
10.4虚基类 278
10.4.1虚基类的概念 278
10.4.2虚基类及其派生类的构造函数 280
10.5上机练习指导 281
习题10 286
第11章 多态性和虚函数 293
11.1函数重载 293
11.2运算符重载 295
11.2.1运算符重载中的几个问题 295
11.2.2运算符重载函数的两种形式 296
11.2.3其他运算符重载举例 300
11.3静态联编和动态联编 303
11.3.1静态联编 304
11.3.2动态联编 305
11.4虚函数 305
11.5纯虚函数和抽象类 310
11.5.1纯虚函数 311
11.5.2抽象类 312
11.6虚析构函数 316
11.7上机练习指导 317
习题11 325
第12章C+语言的I/O流类库 331
12.1屏幕输出操作 333
12.1.1使用预定义的插入符 333
12.1.2使用成员函数put( )输出一个字符 335
12.1.3使用成员函数write()输出一个字符串 335
12.2键盘输入操作 336
12.2.1使用预定义的提取符 336
12.2.2使用成员函数get()获取一个字符 337
12.2.3使用成员函数getline( )获取一行字符 338
12.2.4使用成员函数read( )读取多行字符 339
12.3格式化输入和输出 340
12.3.1使用流对象的成员函数进行格式输出 340
12.3.2 使用控制符进行格式输出 343
12.4插入符和提取符的重载 344
12.5磁盘文件的输入和输出 345
12.5.1文件的打开和关闭操作 346
12.5.2文本文件的读/写操作 347
12.5.3二进制文件的读/写操作 350
12.5.4随机访问数据文件 352
12.5.5文件操作的其他函数 355
12.6 字符串流 357
12.6.1 ostrstream类的构造函数 357
12.6.2 istrstream类的构造函数 358
12.7流错误的处理 359
12.7.1状态字和状态函数 359
12.7.2清除/设置流状态位 360
12.8上机练习指导 360
习题12 362
附录A Visual C++6.0编译系统部分功能介绍 365
A.1 Visual C++6.0主界面 365
A.2 C++单文件应用程序的实现 373
A.3 C++多文件应用程序的实现 374