标题：高等学校工程创新型"十二五"规划计算机教材：C++面向对象程序设计
图书信息
书 名: 高等学校工程创新  型"十二五"规划计算机教材:C++面向对象程序设计 
作　者：杜茂康
出版社： 电子工业出版社
出版时间： 2011年7月1日
ISBN: 9787121136252
开本： 16开
定价: 42.00元
内容简介
本书深入浅出地介绍了标准C++面向对象的程序设计技术，以及用VisualC++进行面向对象的Windows程序设计的基本原理和方法，包括C++对C语言的扩展、类、对象、友元、继承、多态性、虚函数、重载、I/O流类库、文件、模板与STL、C++Windows程序的结构、消息驱动、MFC应用程序框架、GDI、菜单、对话框、工具栏、文档与视图等内容。
全书本着易于理解、实用性强的原则设计其内容和案例，并以一个规模较大的综合性程序的编制贯穿于C++面向对象技术和Windows程序设计的全过程，引导读者理解和领会面向对象程序设计的思想、技术、方法和要领，掌握在Windows程序中应用自定义类实现程序功能的软件开发方法。
本书取材新颖，内容全面，通俗易懂，可作为高等院校计算机、电子信息类专业及其他理工类相关专业的教材，也可作为C++语言自学者或程序设计人员的参考用书。
图书目录
目 录
第1章 C++与面向对象程序设计概述1
1.1 面向过程与面向对象程序设计1
1.2 面向对象程序语言的特征3
1.3 C++与面向对象程序设计6
1.4 C++程序的结构7
1.5 数据输入与输出10
1.5.1 流的概念10
1.5.2 cin和析取运算符>>10
1.5.3 cout和插入运算符<<12
1.5.4 输出格式控制符14
1.5.5 数制基数15
1.6 编程实作——VC++ 6.0编程简介16
1.6.1 在VC++中编辑源程序16
1.6.2 编译和调试程序18
1.6.3 关于Visual C++的项目工作区文件19
1.6.4 利用Visual C++向导创建应用程序20
习题121
第2章 C++基础22
2.1 C++对C语言数据类型的扩展22
2.2 局部变量声明23
2.3 指针23
2.3.1 指针概念的回顾23
2.3.2 指针与0和void*24
2.3.3 new和delete25
2.4 引用27
2.5 const常量29
2.5.1 常量的定义29
2.5.2 const与指针30
2.5.3 const与引用31
2.6 类型转换32
2.6.1 隐式类型转换32
2.6.2 显式类型转换33
2.7 函数34
2.7.1 函数原型34
2.7.2 函数默认参数36
2.7.3 函数与引用36
2.7.4 函数与const40
2.7.5 函数重载41
2.8 内联函数43
2.9 typedef44
2.10 命名空间44
2.11 预处理器47
2.12 作用域和生命期48
2.12.1 作用域48
2.12.2 变量类型及生命期50
2.12.3 变量初始化52
2.12.4 局部变量与函数返回地址52
2.13 文件输入和输出53
2.14 编程实作54
习题256
第3章 类与对象59
3.1 结构与类59
3.1.1 C++对结构的扩展59
3.1.2 类60
3.2 成员函数62
3.2.1 成员函数的定义62
3.2.2 常量成员函数63
3.3 类与封装64
3.4 对象65
3.5 构造函数67
3.5.1 构造函数67
3.5.2 无参构造函数69
3.5.3 重载构造函数71
3.5.4 拷贝构造函数72
3.5.5 构造函数与初始化列表75
3.6 析构函数77
3.7 静态成员79
3.8 this指针82
3.9 类对象成员85
3.10 对象数组和对象指针88
3.11 向函数传递对象89
3.12 类的作用域和对象的生存期90
3.13 友元92
3.14 编程实作：类的接口与实现的分离94
3.14.1 头文件94
3.14.2 源文件95
3.14.3 对类的应用96
习题398
第4章 继承102
4.1 继承的概念102
4.2 protected和继承103
4.3 继承方式104
4.4 基类与派生类的关系107
4.4.1 成员函数的重定义和名字隐藏107
4.4.2 基类成员访问109
4.5 构造函数和析构函数109
4.5.1 派生类构造函数、析构函数的定义和调用次序109
4.5.2 构造函数和析构函数的构造规则110
4.5 多继承115
4.5.1 多继承的概念和应用115
4.5.2 多继承方式下成员名的二义性117
4.5.3 多继承的构造函数与析构函数117
4.6 虚拟继承119
4.7 基类与派生类对象的关系123
4.8 继承与组合125
4.9 编程实作125
习题4130
第5章 多态性133
5.1 静态绑定和动态绑定133
5.2 虚函数133
5.2.1 虚函数的意义133
5.2.2 虚函数的特性136
5.3 虚析构函数140
5.4 纯虚函数与抽象类141
5.4.1 纯虚函数和抽象类141
5.4.3 抽象类的应用143
5.4 运行时类型信息149
5.4.1 dynamic_cast149
5.4.2 typeid153
5.5 编程实作154
习题5156
第6章 运算符重载159
6.1 运算符重载基础159
6.2 重载二元运算符161
6.2.1 类与二元运算符重载161
6.2.2 友元二元运算符重载的特殊用途164
6.3 重载一元运算符166
6.3.1 作为成员函数重载166
6.3.2 作为友元函数重载167
6.4 特殊运算符重载169
6.4.1 运算符++和--的重载169
6.4.2 重载赋值运算符=171
6.4.3 重载[]173
6.4.4 类与其他数据类型之间的转换175
6.5 输入/输出运算符重载177
6.5.1 重载输出运算符<<177
6.5.2 重载输入运算符>>177
6.5.3 重载运算符<<和>>举例178
6.6 编程实作179
习题6183
第7章 模板与STL186
7.1 模板概念186
7.2 函数模板与模板函数187
7.2.1 函数模板的定义187
7.2.2 函数模板的实例化188
7.2.3 模板参数189
7.3 类模板192
7.3.1 类模板的概念192
7.3.2 类模板的定义192
7.3.3 类模板实例化194
7.3.4 类模板的使用196
7.4 STL197
7.4.1 容器197
7.4.2 迭代器205
7.4.3 关联式容器207
7.4.4 算法211
7.5 编程实作214
习题7216
第8章 异常217
8.1 异常处理概述217
8.2 C++异常处理基础218
8.2.1 异常处理的结构218
8.2.2 异常捕获219
8.3 异常与函数220
8.4 异常处理的几种特殊情况222
8.5 异常和类225
8.5.1 构造函数与异常225
8.5.2 异常类226
8.5.3 派生异常类的处理230
习题8232
第9章 文件与流235
9.1 C++ I/O流及流类库235
9.2 使用I/O成员函数236
9.2.1 istream流中的常用成员函数237
9.2.2 ostream流中的常用成员函数239
9.2.3 数据输入、输出的格式控制240
9.3 文件操作242
9.3.1 文件与流243
9.3.2 二进制文件245
9.3.3 随机文件249
习题9250
第10章 C++ Windows程序设计基础253
10.1 Windows程序设计基础253
10.1.1 窗口253
10.1.2 事件驱动和消息响应253
10.1.3 Windows程序的文件构成254
10.1.4 Visual C++的Windows程序设计方法255
10.2 Windows程序设计的常用数据结构256
10.3 Windows程序的基本结构259
10.4 Windows程序的控制流程261
10.5 Windows程序的数据输出267
10.6 消息驱动程序设计270
习题10273
第11章 MFC程序设计275
11.1 MFC程序基础275
11.1.1 MFC类275
11.1.2 MFC程序的结构277
11.1.3 MFC程序的执行流程279
11.1.4 消息映射281
11.2 应用程序框架283
11.2.1 应用程序框架的概念283
11.2.2 用向导建立应用程序框架283
11.2.3 应用程序框架的结构286
11.2.4 应用程序框架类之间的关系292
11.3 MFC程序的数据输出294
11.3.1 MFC中的图形类294
11.3.2 绘图对象296
11.3.3 用MFC向导添加消息映射函数297
11.3.4 OnPaint函数与输出302
11.4 对话框304
11.4.1 对话框的类型304
11.4.2 用资源编辑器建立对话框304
11.5 菜单和工具栏310
11.5.1 直接修改应用程序框架的菜单310
11.5.2 建立新菜单栏313
11.5.3 工具栏操作314
11.6 视图与文档315
习题11318
第12章 综合程序设计320
12.1 在应用程序框架中包含并修改自定义类320
12.2 在事件函数中操作类对象322
12.3 添加对话框325
12.4 添加程序菜单327
12.5 文档序列化331
习题12341
参考文献342