面向对象程序设计 C++语言描述 原书第2版 🔍
(美)约翰逊鲍尔等著 北京:机械工业出版社, Ji suan ji ke xue cong shu, Di 1 ban, Beijing, 2011
中文 [zh] · PDF · 103.3MB · 2011 · 📘 非小说类图书 · 🚀/duxiu/lgli/lgrs/nexusstc · Save
描述
本书内容丰富,结构合理,写作风格严谨,深刻地论述了C++语言的面向对象编程的各种技术,主要内容包括:面向对象编程方法、C++语言的各种特性、STL、C++输入/输出流、MFC等。本书针对最新的C++规范作了全面的修订,使读者可以全面掌握C++的最新技术。为使读者学习本书时掌握重点,各章节均配备了大量的练习和编程习题。本书在各章末列举了大量易犯的编程错误及避免这些错误的方法,以帮助读者编写出更为可靠的代码。
备用文件名
lgli/《面向对象程序设计--C++语言描述》_12833962.pdf
备用文件名
lgrsnf/《面向对象程序设计--C++语言描述》_12833962.pdf
备选标题
面向对象程序设计 : C++语言描述 = Object-oriented programming in C++
备选作者
约翰逊鲍 (Johnsonbaugh, Richard)
备选作者
Richard Johnsonbaugh
备用出版商
China Machine Press
备用版本
Ji suan ji ke xue cong shu, Bei jing, 2011
备用版本
China, People's Republic, China
元数据中的注释
{"isbns":["7111345762","9787111345763"],"publisher":"机械工业出版社","source":"libgen_rs"}
元数据中的注释
Bookmarks: p1 (p1): 第1章 面向对象编程
p1-1 (p1): 1.1面向过程的编程风格与面向对象的编程风格
p1-1-1 (p1): 1.1.1面向过程的编程风格
p1-1-2 (p2): 1.1.2面向对象的编程风格
p1-1-3 (p3): 1.1.3关系
p1-1-4 (p3): 1.1.4课后练习
p1-2 (p3): 1.2类与抽象数据类型
p1-2-1 (p3): 1.2.1信息隐藏
p1-2-2 (p4): 1.2.2封装
p1-2-3 (p4): 1.2.3抽象数据类型
p1-2-4 (p5): 1.2.4课后练习
p1-3 (p5): 1.3客户/服务器模式与消息传递
p1-3-1 (p6): 1.3.1客户/服务器模式
p1-3-2 (p6): 1.3.2消息传递与方法调用
p1-3-3 (p8): 1.3.3课后练习
p1-4 (p8): 1.4继承与多态
p1-4-1 (p8): 1.4.1继承
p1-4-2 (p9): 1.4.2多态
p1-4-3 (p9): 1.4.3多态与递归
p1-4-4 (p11): 1.4.4课后练习
p1-5 (p11): 1.5接口与组件
p1-5-1 (p11): 1.5.1接口
p1-5-2 (p12): 1.5.2组件
p1-5-3 (p13): 1.5.3课后练习
p2 (p14): 第2章 从C到C++
p2-1 (p14): 2.1名字空间
p2-1-1 (p17): 2.1.1课后练习
p2-2 (p18): 2.2 C++输入/输出简介
p2-2-1 (p20): 2.2.1操纵符
p2-2-2 (p23): 2.2.2混合使用C和C++的输入/输出
p2-2-3 (p24): 2.2.3课后练习
p2-3 (p24): 2.3文件
p2-3-1 (p26): 2.3.1测试文件的打开状态
p2-3-2 (p26): 2.3.2课后练习
p2-4 (p26): 2.4若干重要的C++特性
p2-4-1 (p26): 2.4.1强制类型转换
p2-4-2 (p28): 2.4.2常数
p2-4-3 (p28): 2.4.3数据类型bool
p2-4-4 (p28): 2.4.4枚举类型
p2-4-5 (p29): 2.4.5定义变量
p2-4-6 (p30): 2.4.6结构
p2-4-7 (p31): 2.4.7课后练习
p2-5 (p31): 2.5 string类型
p2-5-1 (p31): 2.5.1定义string类型的变量
p2-5-2 (p31): 2.5.2转换为C风格的字符串
p2-5-3 (p32): 2.5.3字符串长度
p2-5-4 (p32): 2.5.4读写string
p2-5-5 (p33): 2.5.5赋值
p2-5-6 (p34): 2.5.6字符串的连接
p2-5-7 (p34): 2.5.7修改字符串
p2-5-8 (p36): 2.5.8提取子串
p2-5-9 (p36): 2.5.9查找
p2-5-10 (p37): 2.5.10字符串比较
p2-5-11 (p38): 2.5.11课后练习
p2-6 (p40): 2.6函数
p2-6-1 (p40): 2.6.1函数原型
p2-6-2 (p44): 2.6.2 main函数
p2-6-3 (p44): 2.6.3引用
p2-6-4 (p42): 2.6.4引用调用
p2-6-5 (p43): 2.6.5引用返回
p2-6-6 (p44): 2.6.6内联函数
p2-6-7 (p45): 2.6.7函数默认参数
p2-6-8 (p46): 2.6.8函数重载
p2-6-9 (p47): 2.6.9函数签名
p2-6-10 (p48): 2.6.10课后练习
p2-7 (p51): 2.7 new和delete操作符
p2-7-1 (p53): 2.7.1课后练习
p2-8 (p53): 2.8例外处理
p2-8-1 (p56): 2.8.1课后练习
p2-9 (p57): 2.9补充材料
p2-9-1 (p57): 2.9.1 C++关键字
p2-9-2 (p57): 2.9.2无名名字空间
p2-9-3 (p57): 2.9.3无名联合
p2-9-4 (p58): 2.9.4成员选择符
p2-10 (p61): 2.10常见编程错误
p2-11 (p69): 2.11编程习题
p3 (p72): 第3章类
p3-1 (p72): 3.1类和对象
p3-1-1 (p72): 3.1.1类声明
p3-1-2 (p73): 3.1.2 C++的信息隐藏机制
p3-1-3 (p74): 3.1.3成员选择符
p3-1-4 (p75): 3.1.4类范围
p3-1-5 (p75): 3.1.5关键字class和struct的区别
p3-1-6 (p76): 3.1.6类成员函数的定义
p3-1-7 (p78): 3.1.7在程序中使用类
p3-1-8 (p78): 3.1.8课后练习
p3-2 (p79): 3.2示例程序:堆栈类
p3-2-1 (p79): 3.2.1问题
p3-2-2 (p79): 3.2.2示例程序的输出
p3-2-3 (p80): 3.2.3解决方案
p3-2-4 (p81): 3.2.4类的实现
p3-2-5 (p82): 3.2.5代码分析
p3-2-6 (p82): 3.2.6程序设计建议
p3-2-7 (p82): 3.2.7课后练习
p3-3 (p82): 3.3效率和健壮性
p3-3-1 (p82): 3.3.1通过引用来传递和返回对象
p3-3-2 (p83): 3.3.2 coast类型参数的对象引用
p3-3-3 (p84): 3.3.3 const成员函数
p3-3-4 (p85): 3.3.4对成员函数进行重载以便处理两种类型的字符串
p3-3-5 (p85): 3.3.5课后练习
p3-4 (p86): 3.4示例程序:时间标记类
p3-4-1 (p86): 3.4.1问题
p3-4-2 (p86): 3.4.2示例程序的输出
p3-4-3 (p88): 3.4.3解决方案
p3-4-4 (p88): 3.4.4类的实现
p3-4-5 (p89): 3.4.5代码分析
p3-4-6 (p91): 3.4.6程序设计建议
p3-4-7 (p91): 3.4.7课后练习
p3-5 (p91): 3.5构造函数与析构函数
p3-5-1 (p92): 3.5.1构造函数
p3-5-2 (p93): 3.5.2对象数组与默认构造函数
p3-5-3 (p94): 3.5.3通过构造函数约束对象的创建
p3-5-4 (p95): 3.5.4拷贝构造函数
p3-5-5 (p96): 3.5.5定义拷贝构造函数
p3-5-6 (p100): 3.5.6禁止通过传值方式传递和返回类对象
p3-5-7 (p101): 3.5.7转型构造函数
p3-5-8 (p101): 3.5.8转型构造函数与隐式类型转换
p3-5-9 (p102): 3.5.9构造函数初始化程序
p3-5-10 (p103): 3.5.10构造函数与操作符new和new[]
p3-5-11 (p104): 3.5.11析构函数
p3-5-12 (p105): 3.5.12课后练习
p3-6 (p108): 3.6示例程序:Task类
p3-6-1 (p108): 3.6.1问题
p3-6-2 (p108): 3.6.2示例程序的输出
p3-6-3 (p109): 3.6.3解决方案
p3-6-4 (p109): 3.6.4类的实现
p3-6-5 (p111): 3.6.5代码分析
p3-6-6 (p113): 3.6.6课后练习
p3-7 (p113): 3.7类数据成员和类成员函数
p3-7-1 (p113): 3.7.1类数据成员
p3-7-2 (p115): 3.7.2类成员函数
p3-7-3 (p116): 3.7.3在成员函数内定义static变量
p3-7-4 (p117): 3.7.4课后练习
p3-8 (p117): 3.8指向对象的指针
p3-8-1 (p119): 3.8.1常量指针this
p3-8-2 (p120): 3.8.2课后练习
p3-9 (p121): 3.9常见编程错误
p3-10 (p126): 3.10编程习题
p4 (p131): 第4章 继承
p4-1 (p131): 4.1引言
p4-1-1 (p132): 4.1.1课后练习
p4-2 (p132): 4.2基本概念和语法
p4-2-1 (p133): 4.2.1继承机制下的私有成员
p4-2-2 (p134): 4.2.2改变访问限制
p4-2-3 (p135): 4.2.3名字隐藏
p4-2-4 (p136): 4.2.4间接继承
p4-2-5 (p137): 4.2.5课后练习
p4-3 (p137): 4.3示例程序:影片跟踪管理
p4-3-1 (p137): 4.3.1问题
p4-3-2 (p138): 4.3.2示例程序的输出
p4-3-3 (p138): 4.3.3解决方案
p4-3-4 (p139): 4.3.4类的实现
p4-3-5 (p140): 4.3.5代码分析
p4-3-6 (p141): 4.3.6程序设计建议
p4-4 (p141): 4.4保护成员
p4-4-1 (p144): 4.4.1课后练习
p4-5 (p145): 4.5继承机制下的构造函数与析构函数
p4-5-1 (p145): 4.5.1继承机制下的构造函数
p4-5-2 (p147): 4.5.2派生类构造函数的规则
p4-5-3 (p150): 4.5.3继承机制下的析构函数
p4-5-4 (p152): 4.5.4课后练习
p4-6 (p153): 4.6示例程序:设计序列的类层次结构
p4-6-1 (p153): 4.6.1问题
p4-6-2 (p154): 4.6.2示例程序的输入与输出
p4-6-3 (p157): 4.6.3解决方案
p4-6-4 (p157): 4.6.4类的实现
p4-6-5 (p159): 4.6.5代码分析
p4-7 (p161): 4.7多继承
p4-7-1 (p162): 4.7.1继承和访问规则
p4-7-2 (p163): 4.7.2虚基类
p4-7-3 (p164): 4.7.3课后练习
p4-8 (p166): 4.8补充材料
p4-8-1 (p166): 4.8.1保护继承
p4-8-2 (p166): 4.8.2私有继承
p4-9 (p167): 4.9常见编程错误
p4-10 (p169): 4.10编程习题
p5 (p172): 第5章 多态
p5-1 (p172): 5.1 C++中的运行期绑定与编译期绑定
p5-1-1 (p173): 5.1.1 C++多态的前提条件
p5-1-2 (p176): 5.1.2虚成员函数继承
p5-1-3 (p177): 5.1.3运行期绑定和虚成员函数表
p5-1-4 (p177): 5.1.4构造函数与析构函数
p5-1-5 (p178): 5.1.5虚析构函数
p5-1-6 (p180): 5.1.6对象成员函数和类成员函数
p5-1-7 (p180): 5.1.7课后练习
p5-2 (p182): 5.2示例程序:改进的影片跟踪管理
p5-2-1 (p182): 5.2.1问题
p5-2-2 (p182): 5.2.2示例程序的输入/输出
p5-2-3 (p184): 5.2.3解决方案
p5-2-4 (p184): 5.2.4类的实现
p5-2-5 (p187): 5.2.5代码分析
p5-2-6 (p189): 5.2.6程序设计建议
p5-2-7 (p189): 5.2.7课后练习
p5-3 (p189): 5.3重载、覆盖和遮蔽
p5-3-1 (p189): 5.3.1重载
p5-3-2 (p190): 5.3.2覆盖
p5-3-3 (p192): 5.3.3遮蔽
p5-3-4 (p193): 5.3.4名字共享
p5-3-5 (p194): 5.3.5课后练习
p5-4 (p196): 5.4抽象基类
p5-4-1 (p196): 5.4.1抽象基类和纯虚成员函数
p5-4-2 (p198): 5.4.2定义纯虚成员函数的限制
p5-4-3 (p198): 5.4.3抽象基类的使用
p5-4-4 (p199): 5.4.4微软的IUnknown接口
p5-4-5 (p199): 5.4.5课后练习
p5-5 (p200): 5.5运行期类型识别
p5-5-1 (p200): 5.5.1 dynamic_cast操作符
p5-5-2 (p205): 5.5.2 dynamic_cast的规则
p5-5-3 (p205): 5.5.3 dynamic_cast与static_cast小结
p5-5-4 (p205): 5.5.4 typeid操作符
p5-5-5 (p206): 5.5.5扩展RTTI
p5-5-6 (p206): 5.5.6课后练习
p5-6 (p208): 5.6补充材料
p5-6-1 (p208): 5.6.1强多态和弱多态
p5-7 (p208): 5.7常见编程错误
p5-8 (p211): 5.8编程习题
p6 (p215): 第6章 操作符重载
p6-1 (p215): 6.1基本操作符重载
p6-1-1 (p217): 6.1.1操作符的优先级和语法
p6-1-2 (p218): 6.1.2课后练习
p6-2 (p219): 6.2示例程序:复数类
p6-2-1 (p219): 6.2.1问题
p6-2-2 (p219): 6.2.2示例程序的输出
p6-2-3 (p219): 6.2.3解决方案
p6-2-4 (p219): 6.2.4类的实现
p6-2-5 (p221): 6.2.5代码分析
p6-2-6 (p222): 6.2.6课后练习
p6-3 (p223): 6.3用顶层函数进行操作符重载
p6-3-1 (p226): 6.3.1课后练习
p6-4 (p227): 6.4 friend函数
p6-4-1 (p228): 6.4.1课后练习
p6-5 (p229): 6.5输入与输出操作符的重载
p6-5-1 (p230): 6.5.1课后练习
p6-6 (p231): 6.6赋值操作符的重载
p6-6-1 (p233): 6.6.1课后练习
p6-7 (p234): 6.7特殊操作符的重载
p6-7-1 (p234): 6.7.1下标操作符的重载
p6-7-2 (p237): 6.7.2函数调用操作符的重载
p6-7-3 (p239): 6.7.3自增与自减操作符的重载
p6-7-4 (p241): 6.7.4转型操作符
p6-7-5 (p243): 6.7.5课后练习
p6-8 (p244): 6.8示例程序:关联式数组
p6-8-1 (p244): 6.8.1问题
p6-8-2 (p244): 6.8.2示例程序的输入与输出
p6-8-3 (p245): 6.8.3解决方案
p6-8-4 (p246): 6.8.4类的实现
p6-8-5 (p247): 6.8.5代码分析
p6-8-6 (p248): 6.8.6课后练习
p6-9 (p248): 6.9内存管理操作符
p6-9-1 (p251): 6.9.1课后练习
p6-10 (p252): 6.10补充材料
p6-10-1 (p252): 6.10.1 friend类
p6-11 (p252): 6.11常见编程错误
p6-12 (p255): 6.12编程习题
p7 (p257): 第7章 模板与标准模板库
p7-1 (p257): 7.1模板的基本知识
p7-1-1 (p260): 7.1.1模板实例
p7-1-2 (p261): 7.1.2参数表中的模板类
p7-1-3 (p262): 7.1.3模板的函数式参数
p7-1-4 (p264): 7.1.4课后练习
p7-2 (p265): 7.2示例程序:模板堆栈类
p7-2-1 (p265): 7.2.1问题
p7-2-2 (p265): 7.2.2示例程序的输出
p7-2-3 (p265): 7.2.3解决方案
p7-2-4 (p266): 7.2.4类的实现
p7-2-5 (p268): 7.2.5代码分析
p7-2-6 (p269): 7.2.6程序设计建议
p7-2-7 (p270): 7.2.7断言
p7-2-8 (p271): 7.2.8课后练习
p7-3 (p271): 7.3标准模板库STL
p7-3-1 (p271): 7.3.1容器、算法和迭代器
p7-3-2 (p271): 7.3.2 STL的优越性
p7-3-3 (p273): 7.3.3容器基础知识
p7-3-4 (p273): 7.3.4基本序列式容器:vector、deque和list
p7-3-5 (p276): 7.3.5 vector、deque和list的效率比较
p7-3-6 (p276): 7.3.6基本的关联式容器:set、mult-iset、map和multimap
p7-3-7 (p278): 7.3.7容器适配器
p7-3-8 (p281): 7.3.8 其他容器
p7-3-9 (p284): 7.3.9 STL算法
p7-3-10 (p288): 7.3.10其他STL构件
p7-3-11 (p289): 7.3.11课后练习
p7-4 (p290): 7.4示例程序:证券业绩报表
p7-4-1 (p290): 7.4.1问题
p7-4-2 (p290): 7.4.2示例程序的输入与输出
p7-4-3 (p293): 7.4.3解决方案
p7-4-4 (p293): 7.4.4类的实现
p7-4-5 (p296): 7.4.5代码分析
p7-5 (p298): 7.5附加材料
p7-5-1 (p298): 7.5.1模板类与继承
p7-6 (p299): 7.6常见编程错误
p7-7 (p300): 7.7编程习题
p8 (p304): 第8章 C++输入输出类层次
p8-1 (p304): 8.1概况
p8-1-1 (p304): 8.1.1输入输出库中的流类层次
p8-1-2 (p305): 8.1.2输入输出库中的缓冲类层次
p8-1-3 (p306): 8.1.3缓冲类层次与流类层次的关系
p8-1-4 (p307): 8.1.4模板的使用
p8-1-5 (p307): 8.1.5课后练习
p8-2 (p308): 8.2 ios_base和basic_ios类
p8-2-1 (p308): 8.2.1 ios_base
p8-2-2 (p312): 8.2.2 basic_ios
p8-2-3 (p313): 8.2.3例外处理
p8-2-4 (p314): 8.2.4课后练习
p8-3 (p315): 8.3高层输入输出类
p8-3-1 (p315): 8.3.1 basic_istream
p8-3-2 (p319): 8.3.2 basic_ostream
p8-3-3 (p321): 8.3.3 basic_iostream
p8-3-4 (p321): 8.3.4课后练习
p8-4 (p322): 8.4操纵器
p8-4-1 (p322): 8.4.1设计不带参数的操纵器
p8-4-2 (p324): 8.4.2设计带参数的操纵器
p8-4-3 (p325): 8.4.3课后练习
p8-5 (p325): 8.5文件输入输出类
p8-5-1 (p325): 8.5.1 basic_ofstream
p8-5-2 (p327): 8.5.2 basic_ifstream
p8-5-3 (p328): 8.5.3 basic_fstream
p8-5-4 (p329): 8.5.4课后练习
p8-6 (p329): 8.6示例程序:随机存取文件类
p8-6-1 (p329): 8.6.1问题
p8-6-2 (p329): 8.6.2示例程序的输入与输出
p8-6-3 (p330): 8.6.3解决方案
p8-6-4 (p332): 8.6.4类的实现
p8-6-5 (p339): 8.6.5代码分析
p8-7 (p344): 8.7字符流输入/输出类
p8-7-1 (p344): 8.7.1 basic_ostringstream
p8-7-2 (p345): 8.7.2 basic_istringstream
p8-7-3 (p346): 8.7.3 basic_stringstream
p8-7-4 (p347): 8.7.4课后练习
p8-8 (p347): 8.8示例程序:高层拷贝函数
p8-8-1 (p347): 8.8.1问题
p8-8-2 (p347): 8.8.2解决方案
p8-8-3 (p347): 8.8.3类的实现
p8-8-4 (p348): 8.8.4代码分析
p8-8-5 (p349): 8.8.5课后练习
p8-9 (p349): 8.9缓冲区类
p8-9-1 (p349): 8.9.1 basic_streambuf
p8-9-2 (p350): 8.9.2 basic_filebuf
p8-9-3 (p355): 8.9.3 basic_stringbuf
p8-9-4 (p356): 8.9.4课后练习
p8-10 (p356): 8.10补充材料
p8-11 (p357): 8.11常见编程错误
p8-12 (p358): 8.12编程习题
p9 (p360): 第9章 MFC中的面向对象编程
p9-1 (p360): 9.1用MFC进行Windows程序设计
p9-1-1 (p361): 9.1.1 MFC编程的代码生成器
p9-1-2 (p362): 9.1.2课后练习
p9-2 (p362): 9.2 MFC中的文档/视图结构
p9-2-1 (p365): 9.2.1文档序列化
p9-2-2 (p366): 9.2.2课后练习
p9-3 (p366): 9.3示例程序:文档序列化
p9-3-1 (p366): 9.3.1问题
p9-3-2 (p366): 9.3.2示例程序的输出
p9-3-3 (p367): 9.3.3解决方案
p9-3-4 (p367): 9.3.4类的实现
p9-3-5 (p375): 9.3.5代码分析
p9-3-6 (p378): 9.3.6课后练习
p9-4 (p378): 9.4 COM
p9-4-1 (p379): 9.4.1可更改的服务器和不可变更的接口
p9-4-2 (p380): 9.4.2 COM接口的层次
p9-4-3 (p380): 9.4.3 IDispatch接口
p9-4-4 (p381): 9.4.4 COM程序的类型
p9-4-5 (p381): 9.4.5 VC++对COM的支持
p9-4-6 (p382): 9.4.6 COM和OLE
p9-4-7 (p382): 9.4.7课后练习
p9-5 (p383): 9.5示例程序:自动化服务器与控制器
p9-5-1 (p383): 9.5.1问题
p9-5-2 (p383): 9.5.2示例程序的输出
p9-5-3 (p383): 9.5.3解决方案
p9-5-4 (p384): 9.5.4类的实现
p9-5-5 (p391): 9.5.5代码分析
p9-5-6 (p393): 9.5.6引用计数问题
p9-5-7 (p393): 9.5.7课后练习
p9-6 (p394): 9.6补充材料
p9-7 (p394): 9.7编程习题
p10 (p396): 附录A ASCII表
p11 (p399): 附录B 用到的C++函数和成员函数
p12 (p428): 附录C 奇数编号练习的提示及答案
备用描述
封面
书名
版权
前言
目录
第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 coast类型参数的对象引用
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 奇数编号练习的提示及答案
封底
备用描述
本书论述了C++语言的面向对象编程的各种技术, 内容包括:面向对象编程方法, C++语言的各种特性, STL, C++输入/输出流, MFC等
开源日期
2024-01-11
更多信息……

🚀 快速下载

成为会员以支持书籍、论文等的长期保存。为了感谢您对我们的支持,您将获得高速下载权益。❤️
如果您在本月捐款,您将获得双倍的快速下载次数。

🐢 低速下载

由可信的合作方提供。 更多信息请参见常见问题解答。 (可能需要验证浏览器——无限次下载!)

所有选项下载的文件都相同,应该可以安全使用。即使这样,从互联网下载文件时始终要小心。例如,确保您的设备更新及时。
  • 对于大文件,我们建议使用下载管理器以防止中断。
    推荐的下载管理器:JDownloader
  • 您将需要一个电子书或 PDF 阅读器来打开文件,具体取决于文件格式。
    推荐的电子书阅读器:Anna的档案在线查看器ReadEraCalibre
  • 使用在线工具进行格式转换。
    推荐的转换工具:CloudConvertPrintFriendly
  • 您可以将 PDF 和 EPUB 文件发送到您的 Kindle 或 Kobo 电子阅读器。
    推荐的工具:亚马逊的“发送到 Kindle”djazz 的“发送到 Kobo/Kindle”
  • 支持作者和图书馆
    ✍️ 如果您喜欢这个并且能够负担得起,请考虑购买原版,或直接支持作者。
    📚 如果您当地的图书馆有这本书,请考虑在那里免费借阅。