标题：面向对象程序设计及C++（第2版）
基本信息
书　名　面向对象程序设计及C++(第2版)(工业和信息化普通高等教育“十二五”规划教材立项项目)
丛 书 名　21世纪高等学校计算机规划教材——高校系列
标准书号　ISBN 978-7-115-26906-5
编目分类　TP312  [1]
作　者　朱立华 俞琼 主编
译　者　--
责任编辑　武恩玉
开　本　16 开
印　张　18.5
字　数　491 千字
页　数　290 页
装　帧　平装
版　次　第2版第1次
二版时间　2012年2月
本 印 次　2012年2月
首 印 数　-- 册
定　价　38.00 元
内容提要

本书是为已经掌握C语言知识，需要学习C++语言的读者编写的一本C++语言入门教材。
全书共分9章。第1章通过与面向过程的程序设计方法的简单对比，初步介绍面向对象程序设计方法；第2章介绍在面向过程的程序设计方面C++语言对C语言的改进及扩充；第3章至第6章以面向对象程序设计的封装性、继承性和多态性这3大主要特征为主线组织内容，系统而全面地介绍了面向对象程序设计的基本概念和方法，是本书最核心的内容；第7章简单介绍模板的知识及STL初步；第8章介绍输入/输出控制及文件的读写；第9章通过一个综合实例初步介绍了面向对象的程序设计过程。
本书注重可读性、启发性和可用性。每章开头的内容提要简明扼要地对本章内容进行总体描述；在每章结尾有本章小结，对本章的主要内容作归纳总结；每章最后还配有一定数量的习题帮助读者巩固知识。每章通过大量典型的实例解析新的知识点。书中还通过大量图、表对知识点作总结或从本质上进行分析，便于读者记忆和理解。另外，本书还为授课教师提供配套的电子课件、全部例题源代码以及习题源代码。
本书可作为高等院校计算机相关专业程序设计课程的教材，也可作为工程技术人员的参考用书。
目　录

第1章　面向对象程序设计及C++语言概述　1
1.1　面向过程与面向对象　1
1.1.1　面向过程的程序设计　1
1.1.2　面向对象的程序设计　2
1.2　面向对象的基本概念及特征　4
1.2.1　类与对象　4
1.2.2　封装性　5
1.2.3　继承性　6
1.2.4　多态性　6
1.3　C++语言概述　7
1.3.1　C++语言支持面向对象的程序设计　7
1.3.2　C++语言与C语言的关系　8
1.3.3　其他面向对象的程序设计语言　9
1.4　C++程序及其开发　9
1.4.1　C++程序的开发过程　9
1.4.2　VC++ 6集成开发环境简介　11
1.4.3　VC++ 6集成开发环境的使用　12
1.4.4　VC++ 6下的C++程序实现示例　16
本章小结　20
习题　21
第2章　C++对C的改进及扩展　22
2.1　函数中一些基本控制的区别　22
2.1.1　C++语言用I/O流实现输入/输出　22
2.1.2　新增的单行注释　24
2.1.3　使用const定义常量　24
2.1.4　新增的强制类型转换方式　26
2.1.5　新增的bool类型　26
2.1.6　名字空间　27
2.2　有关函数的区别　28
2.2.1　局部变量随用随定义　29
2.2.2　域解析符::扩大全局变量的可见范围　30
2.2.3　形式参数可带有默认值　31
2.2.4　内联函数　32
2.2.5　函数重载　34
2.3　新增引用的灵活运用　35
2.3.1　引用的概念及使用　36
2.3.2　引用作为形式参数　37
2.3.3　引用与指针的区别　39
2.3.4　引用作为返回值　40
2.4　动态内存空间管理　42
2.4.1　用new申请动态内存空间　42
2.4.2　用delete释放动态内存空间　43
2.4.3　void类型的指针　43
2.5　C++语言中的异常处理　44
2.5.1　异常和异常处理　44
2.5.2　异常处理的实现　45
本章小结　46
习题　47
第3章　类与对象　52
3.1　类与对象的定义　52
3.1.1　类的定义　52
3.1.2　定义对象　57
3.1.3　this 指针　61
3.2　构造函数与析构函数　62
3.2.1　构造函数　63
3.2.2　析构函数　70
3.3　深拷贝与浅拷贝　71
3.4　对象的使用　74
3.4.1　对象数组　75
3.4.2　对象指针　76
3.4.3　对象引用　77
3.4.4　对象参数　78
3.5　友元　83
3.5.1　友元函数　83
3.5.2　友元成员　85
3.5.3　友元类　87
3.6　程序实例——学生信息管理系统　89
本章小结　95
习题　96
第4章　类中数据的共享与保护　101
4.1　静态成员　101
4.1.1　静态数据成员　101
4.1.2　静态成员函数　103
4.2　共享数据的保护　105
4.2.1　常数据成员　105
4.2.2　常成员函数　107
4.2.3　常对象　109
4.3　程序实例——学生信息管理系统　111
本章小结　117
习题　117
第5章　类与类之间的关系　123
5.1　类的组合　123
5.1.1　类的组合关系　123
5.1.2　对象成员的构造与析构　124
5.2　类的依赖　126
5.3　类的继承与派生　128
5.3.1　派生类的定义　128
5.3.2　派生类对象的构造与析构　134
5.3.3　同名冲突及其解决方案　139
5.3.4　赋值兼容规则　148
5.4　程序实例——师生信息管理系统　149
本章小结　158
习题　158
第6章　多态性　167
6.1　多态的两种类型　167
6.2　静态多态性的实现　168
6.2.1　运算符重载的规则　169
6.2.2　用成员函数重载运算符　172
6.2.3　用友元函数重载运算符　174
6.2.4　几种常用运算符的重载　177
6.3　动态多态性的实现　185
6.3.1　虚函数的定义　185
6.3.2　虚析构函数　188
6.3.3　虚函数与同名覆盖　190
6.4　纯虚函数与抽象类　192
6.4.1　纯虚函数　192
6.4.2　抽象类　193
6.5　程序实例——学生信息管理系统　195
本章小结　201
习题　201
第7章　模板　206
7.1　模板的概念　206
7.2　函数模板与模板函数　207
7.2.1　函数模板的定义与模板函数的使用　207
7.2.2　重载模板函数　209
7.3　类模板与模板类　210
7.3.1　类模板的定义　211
7.3.2　类模板的使用　212
7.4　泛型程序设计与C++STL简介　214
7.4.1　泛型程序设计的基本方法　214
7.4.2　STL概述　214
7.4.3　容器(vector)　215
7.4.4　迭代器(iterator)　220
7.4.5　算法　224
7.4.6　string类型　228
7.5　程序实例——学生信息管理系统　232
本章小结　236
习题　236
第8章　C++语言的流类库与输入/输出控制　241
8.1　I/O流的概念及流类库　241
8.1.1　streambuf类　242
8.1.2　ios类　242
8.2　键盘输入与屏幕输出　244
8.2.1　一般的输入/输出　244
8.2.2　格式化的输入/输出　249
8.3　文件的输入/输出　255
8.3.1　文件的打开与关闭　255
8.3.2　文件的读写　258
8.3.3　随机文件的读写操作　264
8.4　程序实例——学生信息管理系统　266
本章小结　269
习题　270
第9章　面向对象编程初步　273
9.1　面向对象编程的基本过程　273
9.2　程序实例——信息管理系统　276
本章小结　284
附录A　ASCII表　285
附录B　C++语言的关键字　287
附录C　C++语言运算符的优先级与结合性　288
参考文献　290