第1章C++概述 1
1.1 C++面向对象基础 1
1.2 C++程序简介 2
1.2.1 C++程序举例 2
1.2.2 C++程序的结构 4
1.2.3 C++的字符集 4
1.2.4 C++程序的执行 6
1.3数据和运算 6
1.3.1 标识符 6
1.3.2数据类型 7
1.3.3常量 8
1.3.4变量 10
1.3.5数据类型转换 11
1.3.6运算符与表达式 11
1.4输入输出 21
1.4.1输出 21
1.4.2输入 24
1.5数组 24
1.5.1 一维数组 24
1.5.2二维数组 26
习题 28
上机练习 30
第2章C++流程控制语句 31
2.1 选择语句 31
2.1.1 if语句 31
2.1.2 switch语句 33
2.2循环语句 35
2.2.1 for语句 35
2.2.2 while语句 38
2.2.3 do-while语句 40
2.2.4循环嵌套 41
2.3跳转语句 43
2.3.1 break语句 43
2.3.2 continue语句 44
2.3.3 goto语句 45
习题 46
上机练习 48
第3章指针、结构和联合 49
3.1 指针 49
3.1.1 指针变量 49
3.1.2指针与数组 51
3.1.3字符串与指针 52
3.1.4处理字符串的库函数 53
3.1.5 const指针 55
3.1.6引用与指针 57
3.2结构 58
3.2.1 结构的定义和使用 58
3.2.2结构数组 60
3.2.3结构指针的定义和使用 61
3.2.4关于C++结构的进一步讨论 62
3.3 联合 63
3.3.1 联合的定义和使用 63
3.3.2联合数组 66
3.3.3联合指针的定义和使用 67
3.3.4关于C++联合的进一步讨论 68
习题 68
上机练习 70
第4章函数 71
4.1 函数的定义与说明 71
4.1.1 函数定义 71
4.1.2函数原型说明 72
4.2 函数调用 74
4.2.1 函数调用方式 74
4.2.2函数调用过程 76
4.3函数返回与返回值 78
4.3.1无返回值返回 78
4.3.2有返回值返回 78
4.3.3返回指针 79
4.4函数的参数 80
4.4.1 函数的形式参数和实际参数 80
4.4.2参数传递 80
4.4.3用数组名作函数实际参数 85
4.4.4函数main()的参数 87
4.5局部变量和全局变量 88
4.5.1 局部变量 88
4.5.2全局变量 89
4.6递归函数 89
4.7函数指针 91
4.8库函数 92
习题 93
上机练习 97
第5章C++类 98
5.1 面向对象程序设计的基本概念 98
5.1.1对象与类 98
5.1.2抽象与封装 99
5.1.3继承 100
5.1.4多态 100
5.2 C++类的定义和使用 100
5.2.1类的定义 100
5.2.2 对象与类的使用 102
5.3类的成员函数 104
5.3.1构造函数与析构函数 104
5.3.2进一步讨论构造函数 105
5.3.3在线函数(inline) 109
5.3.4成员函数重载 110
5.3.5 const型成员函数 111
5.4静态类成员 113
5.4.1静态数据成员 113
5.4.2静态成员函数 115
5.5类的嵌套 116
5.6类与指针 119
5.6.1类对象与指针 119
5.6.2 this指针 123
5.6.3 new和delete运算符 124
5.7对象数组 126
5.8字符串类string 129
5.9 C++程序的模块化组织 131
习题 132
上机练习 136
第6章C++运算符的重载 137
6.1 二元算术运算符的重载 137
6.1.1 重载为类的成员函数 137
6.1.2重载为类的友元函数 139
6.2 一元自动加和自动减运算符的重载 142
6.3 系运算符的重载 144
6.4赋值运算符的重载 145
6.4.1运算符+=和-=的重载 145
6.4.2运算符=的重载 147
6.5 下标运算符和函数调用运算符的重载 149
6.5.1 下标运算符的重载 149
6.5.2函数调用运算符的重载 150
6.6运算符new和delete的重载 151
6.7数据类型转换 153
6.7.1 通过构造函数进行类型转换 153
6.7.2通过类成员函数进行类型转换 154
6.8逗号运算符的重载 155
习题 156
上机练习 158
第7章继承和模板 159
7.1继承与派生类 159
7.1.1继承 159
7.1.2派生类 159
7.2 单继承 160
7.3访问控制关键字 162
7.3.1 公有继承 162
7.3.2私有继承 163
7.3.3保护成员 165
7.4多继承与继承链 168
7.4.1 多继承 168
7.4.2继承链 171
7.5 友元类和友元函数 172
7.5.1 友元类 172
7.5.2友元函数 174
7.6模板 176
7.6.1 数模板 177
7.6.2类模板 181
习题 183
第8章C++流与文件 186
8.1 C++的流 186
8.1.1 预定义流 186
8.1.2流的优点和缺点 188
8.1.3 iostream库 190
8.2格式化I/O 191
8.2.1 用ios类的成员函数实现格式化输入/输出 191
8.2.2用操纵符格式化 195
8.3用户定义类型的输入/输出 197
8.3.1重载运算符<< 197
8.3.2重载运算符>> 199
8.3.3 建立用户操纵符函数 200
8.4文件I/O 202
8.4.1流式文件I/O函数 202
8.4.2 流类文件I/O 207
8.5流状态与操作 212
习题 213
上机练习 215
参考文献 216