面向对象程式设计:C++语言描述


面向对象程式设计:C++语言描述

文章插图
面向对象程式设计:C++语言描述【面向对象程式设计: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 数据类型bool2.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 读写string2.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 常量指针this3.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 扩展rtti5.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 标準模板库stl7.3.1 容器、算法和叠代器7.3.2 stl的优越性7.3.3 容器基础知识7.3.4 基本序列式容器:vector、deque和list7.3.5 vector、deque和list的效率比较7.3.6 基本的关联式容器:set、mult- iset、map和multimap7.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_base8.2.2 basic_ios8.2.3 例外处理8.2.4 课后练习8.3 高层输入输出类8.3.1 basic_istream8.3.2 basic_ostream8.3.3 basic_iostream8.3.4 课后练习8.4 操纵器8.4.1 设计不带参数的操纵器8.4.2 设计带参数的操纵器8.4.3 课后练习8.5 档案输入输出类8.5.1 basic_ofstream8.5.2 basic_ifstream8.5.3 basic_fstream8.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_ostringstream8.7.2 basic_istringstream8.7.3 basic_stringstream8.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_streambuf8.9.2 basic_filebuf8.9.3 basic_stringbuf8.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 com9.4.1 可更改的伺服器和不可变更的接口9.4.2 com接口的层次9.4.3 idispatch接口9.4.4 com程式的类型9.4.5 vc++对com的支持9.4.6 com和ole9.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 奇数编号练习的提示及答案