第1章 从面向过程到面向对象 1
1.1面向对象技术的产生 1
1.2面向对象程序设计的特点 8
习题1 10
第2章 C++程序设计初步 11
2.1 C++程序的开发步骤 11
2.2 Visual C++6.0集成开发环境的用法简介 12
2.3一个简单的C++程序 16
2.4头文件 18
2.5预处理与宏 19
习题2 22
第3章 表达式和引用 24
3.1运算符的优先级和结合性 24
3.2算术运算符 26
3.3赋值运算符 27
3.4增量和减量运算符 27
3.5强制类型转换 28
3.6关系运算符 29
3.7逻辑运算符 30
3.8位运算符 31
3.9条件运算符 32
3.10逗号运算符 32
3.11动态分配符 33
3.12限定运算符 34
3.13字长提取符 35
3.14指针和指针运算符 35
3.15引用 37
习题3 43
第4章 程序控制语句 45
4.1分支语句 45
4.2循环语句 51
4.3无条件转移语句 54
4.4复合语句和空语句 57
习题4 58
第5章 类与对象 60
5.1类和对象的概念 60
5.2使用类 62
5.3有关类和其他知识 84
习题5 88
第6章 构造函数与析构函数 90
6.1构造函数 90
6.2析构函数 98
6.3对象赋值和拷贝构造函数 100
6.4静态对象的构造 105
6.5全局对象的构造 106
6.6无名对象 107
习题6 110
第7章 继承与派生 113
7.1继承 113
7.2多重继承 123
7.3向上类型转换 128
7.4类的其他特性的继承 129
习题7 130
第8章 多态性和虚函数 132
8.1向上类型转换带来的问题 132
8.2虚函数 133
8.3纯虚函数和抽象类 135
8.4虚函数的实现方式 137
8.5虚析构函数 139
习题8 141
第9章 进一步使用成员函数 142
9.1对象数组 142
9.2对象指针 144
9.3静态成员 147
9.4 const修饰符 152
9.5类型转换 155
习题9 160
第10章 运算符重载 162
10.1运算符重载的基本知识 162
10.2可重载的运算符 164
10.3重载++和--运算符 165
10.4算术运算符的重载 167
10.5赋值运算符的重载 168
10.6下标运算符的重载 170
10.7重载new和delete 172
10.8不能重载的运算符 174
习题10 174
第11章 流类库 176
11.1标准输入和输出流 176
11.2重载<<和>> 180
11.3格式化输入输出 183
11.4文件输入输出流 188
11.5串流类(内存格式化) 196
11.6将打印机看作流 197
11.7流的错误处理 198
习题11 200
第12章 模板 203
12.1什么是模板 203
12.2模板使用格式 204
12.3类模板的实例化 208
12.4函数模板 211
12.5模板与宏 218
12.6模板与空指针 219
12.7模板和VC++包容类 219
12.8模板和灵巧指针 222
12.9函数作为模板的类型 225
12.10 STL简介 227
习题12 234
第13章 异常处理 235
13.1为什么要使用异常处理 235
13.2异常处理语法 237
13.3带异常的函数说明 241
13.4多路捕获与捕获再抛出 246
13.5 VC++的异常类 248
习题13 253
附录1 部分习题参考答案 254
附录2 课程设计 287
参考文献 295