
面向对象程式设计:C++语言描述
《面向对象程式设计C++语言描述》是2011年机械工业出版社出版的图书,作者是詹森鲍尔。本书介绍了以作者在大学中讲授的c++课程为基础,特别适合大学计算机专业作为面向对象编程与c++语言课程的教材,同时可供软体开发人员参考。
基本介绍
- 书名:面向对象程式设计:C++语言描述
- 作者:詹森鲍尔
- ISBN:9787111345763
- 定价:69.00元
- 出版社:机械工业出版社
- 出版时间:2011年6月1日
- 开本:16开
内容简介
《面向对象程式设计:C++语言描述(原书第2版)》内容丰富,结构合理,写作风格严谨,深刻地论述了c++语言的面向对象编程的各种技术,主要内容包括:面向对象编程方法、c++语言的各种特性、stl、c++输入/输出流、mfc等。《面向对象程式设计:C++语言描述(原书第2版)》针对最新的c++规範作了全面的修订,使读者可以全面掌握c++的最新技术。为使读者学习《面向对象程式设计:C++语言描述(原书第2版)》时掌握重点,各章节均配备了大量的练习和编程习题。《面向对象程式设计:C++语言描述(原书第2版)》在各章末列举了大量易犯的编程错误及避免这些错误的方法,以帮助读者编写出更为可靠的代码。
作者简介
作者:(美国)詹森鲍尔(Richard Johnsonbaugh) (美国)Martin Kalin 译者:蔡宇辉 李军义 注释 解说词:杨贯中
图书目录
出版者的话
译者序
前言
第1章 面向对象编程
1.1 面向过程的编程风格与面向对象的编程风格
1.1.1 面向过程的编程风格
1.1.2 面向对象的编程风格
1.1.3 关係
1.1.4 课后练习
1.2 类与抽象数据类型
1.2.1 信息隐藏
1.2.2 封装
1.2.3 抽象数据类型
1.2.4 课后练习
1.3 客户/伺服器模式与讯息传递
1.3.1 客户/伺服器模式
1.3.2 讯息传递与方法调用
1.3.3 课后练习
1.4 继承与多态
1.4.1 继承
1.4.2 多态
1.4.3 多态与递归
1.4.4 课后练习
1.5 接口与组件
1.5.1 接口
1.5.2 组件
1.5.3 课后练习
第2章 从c到c++
2.1 名字空间
2.1.1 课后练习
2.2 c++输入/输出简介
2.2.1 操纵符
2.2.2 混合使用c和c++的输入/输出
2.2.3 课后练习
2.3 档案
2.3.1 测试档案的打开状态
2.3.2 课后练习
2.4 若干重要的c++特性
2.4.1 强制类型转换
2.4.2 常数
2.4.3 数据类型bool
2.4.4 枚举类型
2.4.5 定义变数
2.4.6 结构
2.4.7 课后练习
2.5 string类型
2.5.1 定义string类型的变数
2.5.2 转换为c风格的字元串
2.5.3 字元串长度
2.5.4 读写string
2.5.5 赋值
2.5.6 字元串的连线
2.5.7 修改字元串
2.5.8 提取子串
2.5.9 查找
2.5.10 字元串比较
2.5.11 课后练习
2.6 函式
2.6.1 函式原型
2.6.2 main函式
2.6.3 引用
2.6.4 引用调用
2.6.5 引用返回
2.6.6 内联函式
2.6.7 函式默认参数
2.6.8 函式重载
2.6.9 函式签名
2.6.10 课后练习
2.7 new和delete操作符
2.7.1 课后练习
2.8 例外处理
2.8.1 课后练习
2.9 补充材料
2.9.1 c++关键字
2.9.2 无名名字空间
2.9.3 无名联合
2.9.4 成员选择符
2.10 常见编程错误
2.11 编程习题
第3章 类
3.1 类和对象
3.1.1 类声明
3.1.2 c++的信息隐藏机制
3.1.3 成员选择符
3.1.4 类範围
3.1.5 关键字class和struct的区别
3.1.6 类成员函式的定义
3.1.7 在程式中使用类
3.1.8 课后练习
3.2 示例程式:堆叠类
3.2.1 问题
3.2.2 示例程式的输出
3.2.3 解决方案
3.2.4 类的实现
3.2.5 代码分析
3.2.6 程式设计建议
3.2.7 课后练习
3.3 效率和健壮性
3.3.1 通过引用来传递和返回对象
3.3.2 const类型参数的对象引用
3.3.3 const成员函式
3.3.4 对成员函式进行重载以便处理两种类型的字元串
3.3.5 课后练习
3.4 示例程式:时间标记类
3.4.1 问题
3.4.2 示例程式的输出
3.4.3 解决方案
3.4.4 类的实现
3.4.5 代码分析
3.4.6 程式设计建议
3.4.7 课后练习
3.5 构造函式与析构函式
3.5.1 构造函式
3.5.2 对象数组与默认构造函式
3.5.3 通过构造函式约束对象的创建
3.5.4 拷贝构造函式
3.5.5 定义拷贝构造函式
3.5.6 禁止通过传值方式传递和返回类对象
3.5.7 转型构造函式
3.5.8 转型构造函式与隐式类型转换
3.5.9 构造函式初始化程式
3.5.10 构造函式与操作符new和new[]
3.5.11 析构函式
3.5.12 课后练习
3.6 示例程式:task类
3.6.1 问题
3.6.2 示例程式的输出
3.6.3 解决方案
3.6.4 类的实现
3.6.5 代码分析
3.6.6 课后练习
3.7 类数据成员和类成员函式
3.7.1 类数据成员
3.7.2 类成员函式
3.7.3 在成员函式内定义static变数
3.7.4 课后练习
3.8 指向对象的指针
3.8.1 常量指针this
3.8.2 课后练习
3.9 常见编程错误
3.10 编程习题
第4章 继承
4.1 引言
4.1.1 课后练习
4.2 基本概念和语法
4.2.1 继承机制下的私有成员
4.2.2 改变访问限制
4.2.3 名字隐藏
4.2.4 间接继承
4.2.5 课后练习
4.3 示例程式:影片跟蹤管理
4.3.1 问题
4.3.2 示例程式的输出
4.3.3 解决方案
4.3.4 类的实现
4.3.5 代码分析
4.3.6 程式设计建议
4.4 保护成员
4.4.1 课后练习
4.5 继承机制下的构造函式与析构函式
4.5.1 继承机制下的构造函式
4.5.2 派生类构造函式的规则
4.5.3 继承机制下的析构函式
4.5.4 课后练习
4.6 示例程式:设计序列的类层次结构
4.6.1 问题
4.6.2 示例程式的输入与输出
4.6.3 解决方案
4.6.4 类的实现
4.6.5 代码分析
4.7 多继承
4.7.1 继承和访问规则
4.7.2 虚基类
4.7.3 课后练习
4.8 补充材料
4.8.1 保护继承
4.8.2 私有继承
4.9 常见编程错误
4.10 编程习题
第5章 多态
5.1 c++中的运行期绑定与编译期绑定
5.1.1 c++多态的前提条件
5.1.2 虚成员函式继承
5.1.3 运行期绑定和虚成员函式表
5.1.4 构造函式与析构函式
5.1.5 虚析构函式
5.1.6 对象成员函式和类成员函式
5.1.7 课后练习
5.2 示例程式:改进的影片跟蹤管理
5.2.1 问题
5.2.2 示例程式的输入/输出
5.2.3 解决方案
5.2.4 类的实现
5.2.5 代码分析
5.2.6 程式设计建议
5.2.7 课后练习
5.3 重载、覆盖和遮蔽
5.3.1 重载
5.3.2 覆盖
5.3.3 遮蔽
5.3.4 名字共享
5.3.5 课后练习
5.4 抽象基类
5.4.1 抽象基类和纯虚成员函式
5.4.2 定义纯虚成员函式的限制
5.4.3 抽象基类的使用
5.4.4 微软的iunknown接口
5.4.5 课后练习
5.5 运行期类型识别
5.5.1 dynamic_cast操作符
5.5.2 dynamic_cast的规则
5.5.3 dynamic_cast与static_cast小结
5.5.4 typeid操作符
5.5.5 扩展rtti
5.5.6 课后练习
5.6 补充材料
5.6.1 强多态和弱多态
5.7 常见编程错误
5.8 编程习题
第6章 操作符重载
6.1 基本操作符重载
6.1.1 操作符的优先权和语法
6.1.2 课后练习
6.2 示例程式:複数类
6.2.1 问题
6.2.2 示例程式的输出
6.2.3 解决方案
6.2.4 类的实现
6.2.5 代码分析
6.2.6 课后练习
6.3 用顶层函式进行操作符重载
6.3.1 课后练习
6.4 friend函式
6.4.1 课后练习
6.5 输入与输出操作符的重载
6.5.1 课后练习
6.6 赋值操作符的重载
6.6.1 课后练习
6.7 特殊操作符的重载
6.7.1 下标操作符的重载
6.7.2 函式调用操作符的重载
6.7.3 自增与自减操作符的重载
6.7.4 转型操作符
6.7.5 课后练习
6.8 示例程式:关联式数组
6.8.1 问题
6.8.2 示例程式的输入与输出
6.8.3 解决方案
6.8.4 类的实现
6.8.5 代码分析
6.8.6 课后练习
6.9 记忆体管理操作符
6.9.1 课后练习
6.10 补充材料
6.10.1 friend类
6.11 常见编程错误
6.12 编程习题
第7章 模板与标準模板库
7.1 模板的基本知识
7.1.1 模板实例
7.1.2 参数表中的模板类
7.1.3 模板的函式式参数
7.1.4 课后练习
7.2 示例程式:模板堆叠类
7.2.1 问题
7.2.2 示例程式的输出
7.2.3 解决方案
7.2.4 类的实现
7.2.5 代码分析
7.2.6 程式设计建议
7.2.7 断言
7.2.8 课后练习
7.3 标準模板库stl
7.3.1 容器、算法和叠代器
7.3.2 stl的优越性
7.3.3 容器基础知识
7.3.4 基本序列式容器:vector、deque和list
7.3.5 vector、deque和list的效率比较
7.3.6 基本的关联式容器:set、mult- iset、map和multimap
7.3.7 容器适配器
7.3.8 其他容器
7.3.9 stl算法
7.3.10 其他stl构件
7.3.11 课后练习
7.4 示例程式:证券业绩报表
7.4.1 问题
7.4.2 示例程式的输入与输出
7.4.3 解决方案
7.4.4 类的实现
7.4.5 代码分析
7.5 附加材料
7.5.1 模板类与继承
7.6 常见编程错误
7.7 编程习题
第8章 c++输入输出类层次
8.1 概况
8.1.1 输入输出库中的流类层次
8.1.2 输入输出库中的缓冲类层次
8.1.3 缓冲类层次与流类层次的关係
8.1.4 模板的使用
8.1.5 课后练习
8.2 ios_base和basic_ios类
8.2.1 ios_base
8.2.2 basic_ios
8.2.3 例外处理
8.2.4 课后练习
8.3 高层输入输出类
8.3.1 basic_istream
8.3.2 basic_ostream
8.3.3 basic_iostream
8.3.4 课后练习
8.4 操纵器
8.4.1 设计不带参数的操纵器
8.4.2 设计带参数的操纵器
8.4.3 课后练习
8.5 档案输入输出类
8.5.1 basic_ofstream
8.5.2 basic_ifstream
8.5.3 basic_fstream
8.5.4 课后练习
8.6 示例程式:随机存取档案类
8.6.1 问题
8.6.2 示例程式的输入与输出
8.6.3 解决方案
8.6.4 类的实现
8.6.5 代码分析
8.7 字元流输入/输出类
8.7.1 basic_ostringstream
8.7.2 basic_istringstream
8.7.3 basic_stringstream
8.7.4 课后练习
8.8 示例程式:高层拷贝函式
8.8.1 问题
8.8.2 解决方案
8.8.3 类的实现
8.8.4 代码分析
8.8.5 课后练习
8.9 缓冲区类
8.9.1 basic_streambuf
8.9.2 basic_filebuf
8.9.3 basic_stringbuf
8.9.4 课后练习
8.10 补充材料
8.11 常见编程错误
8.12 编程习题
第9章 mfc中的面向对象编程
9.1 用mfc进行windows程式设计
9.1.1 mfc编程的代码生成器
9.1.2 课后练习
9.2 mfc中的文档/视图结构
9.2.1 文档序列化
9.2.2 课后练习
9.3 示例程式:文档序列化
9.3.1 问题
9.3.2 示例程式的输出
9.3.3 解决方案
9.3.4 类的实现
9.3.5 代码分析
9.3.6 课后练习
9.4 com
9.4.1 可更改的伺服器和不可变更的接口
9.4.2 com接口的层次
9.4.3 idispatch接口
9.4.4 com程式的类型
9.4.5 vc++对com的支持
9.4.6 com和ole
9.4.7 课后练习
9.5 示例程式:自动化伺服器与控制器
9.5.1 问题
9.5.2 示例程式的输出
9.5.3 解决方案
9.5.4 类的实现
9.5.5 代码分析
9.5.6 引用计数问题
9.5.7 课后练习
9.6 补充材料
9.7 编程习题
附录a ascii表
附录b 用到的c++函式和成员函式
附录c 奇数编号练习的提示及答案