第1章 面向对象程序设计基础 1
1.1输入输出方式 1
1.1.1简单C+++程序 1
1.1.2命名空间 3
1.1.3输入输出格式 6
1.1.4注释 9
1.2数据类型 9
1.2.1基本数据类型 9
1.2.2类型转换 12
1.3函数 13
1.3.1函数定义 13
1.3.2返回值 15
1.3.3内联函数 16
1.3.4缺省值参数 18
1.3.5常参数 20
1.3.6重载函数 20
1.3.7函数作用域 22
1.3.8编译预处理和多文件结构 25
1.4用户自定义类型 32
1.4.1枚举型 32
1.4.2结构体 34
1.4.3链表 41
本章小结 47
习题 47
第2章 类与对象 52
2.1类与对象的基本概念 52
2.2类与对象 54
2.2.1类的定义 54
2.2.2类成员的访问控制 56
2.2.3类和结构的区别 57
2.2.4对象的定义 58
2.3构造函数和析构函数 59
2.3.1构造函数 60
2.3.2析构函数 63
2.3.3复制构造函数 64
2.4类的静态成员 68
2.4.1静态数据成员 69
2.4.2静态成员函数 71
2.5常类型 77
2.5.1常引用 78
2.5.2常对象 78
2.5.3常成员函数 79
2.5.4常数据成员 81
2.6对象数组与对象指针 82
2.6.1对象数组 82
2.6.2对象指针 84
2.6.3动态配置对象内存 85
2.6.4指向对象的常指针 87
2.6.5指向常对象的指针变量 87
2.6.6 this指针 88
2.7类的组合 89
2.8友元 94
2.8.1友元函数 94
2.8.2友元类 97
2.9类和对象的作用域 98
【综合案例】图书借阅管理系统中类的设计与使用 99
本章小结 112
习题 113
第3章 类的继承与派生 119
3.1继承与派生 119
3.1.1基类和派生类 120
3.1.2派生类的声明 120
3.1.3派生类生成过程 123
3.2继承的三种方式 124
3.2.1公有继承 124
3.2.2私有继承 126
3.2.3保护继承 129
3.3派生类的构造函数和析构函数 132
3.3.1派生类的构造函数 132
3.3.2派生类的析构函数 138
3.4多继承与虚基类 140
3.4.1多继承中同名隐藏和二义性问题 141
3.4.2重复继承与虚基类 142
3.4.3虚基类及其派生类的构造函数 146
3.5赋值兼容规则 148
【综合案例】继承与派生在图书借阅管理系统中的应用 150
【综合案例】某公司职员信息管理系统 152
本章小结 159
习题 160
第4章 运算符重载和多态性 166
4.1多态性概述 166
4.1.1多态的类型 166
4.1.2多态的实现 167
4.2运算符重载 167
4.2.1运算符重载的规则 178
4.2.2运算符重载为成员函数 183
4.2.3运算符重载为友元函数 190
4.2.4重载插入和提取运算符 192
4.3虚函数 194
4.3.1一般虚函数 196
4.3.2虚析构函数 198
4.4抽象类 199
4.4.1纯虚函数 199
4.4.2抽象类 199
【综合案例】多态在高校工资管理系统中的应用 200
本章小结 215
习题 216
第5章 模板函数与模板类 218
5.1模板的概念 218
5.2函数模板 219
5.2.1函数模板的定义 219
5.2.2函数模板的使用与实例化 220
5.2.3函数模板的重载 222
5.3类模板 224
5.3.1类模板的定义 224
5.3.2类模板的实例化 225
【综合案例】函数模板和类模板在图书借阅系统中的应用 226
本章小结 232
习题 233
第6章 文件流和异常处理 235
6.1 I/O流 235
6.1.1 I/O流的概念及引入 235
6.1.2 I/O流的含义及层次 236
6.1.3预定义的I/O流对象及运算符 238
6.2文件的输入和输出 239
6.2.1 f stream类 240
6.2.2文本模式的文件I/O 243
6.2.3二进制模式的文件I/O 248
6.2.4文件指针的使用 252
6.3异常处理的概念 255
6.3.1传统的错误处理方式 255
6.3.2异常处理的基本思想 255
6.4 C十十异常处理的实现 256
6.4.1不同类型异常的捕获 257
6.4.2异常类 261
6.4.3异常的传递方向 268
6.4.4异常接口声明 273
6.5异常处理中的构造与析构 273
【综合案例】输入输出流在图书借阅管理系统中的应用 276
本章小结 280
习题 280
第7章 字符串类 286
7.1字符串类介绍 286
7.2 string类成员函数 288
7.3 string与algorithm相结合的使用 290
7.4 string类串与C风格字符串的转化 292
本章小结 293
习题 294
第8章 标准模板库 296
8.1标准模板库简介 296
8.2迭代子类 299
8.2.1普通类型迭代子 299
8.2.2特殊类型迭代子 301
8.3顺序容器 304
8.3.1矢量类 304
8.3.2列表类 306
8.3.3双端队列类 307
8.4泛型算法与函数对象 308
8.4.1函数对象 308
8.4.2泛型算法 312
8.5关联容器 313
8.5.1集合和多重集合类 313
8.5.2映射和多重映射类 315
8.6容器适配器 316
8.6.1栈类 317
8.6.2队列类 317
8.6.3优先级队列类 318
本章小结 319
习题 319
附录一 综合案例项目清单及说明 321
附录二 常用STL类处理函数说明 350
附录三 常用STL算法说明 359
附录四 常用库函数 362
参考文献 365