C++编程思想

C++编程思想
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美]
2003-07
版次: 1
ISBN: 9787111071167
定价: 39.00
装帧: 平装
开本: 其他
纸张: 胶版纸
146人买过
  • 本书作者根据自已学习C++的亲身体会及多年教学经验,用简单的例子和简练的叙述讲解C++编程,别具特色。
      
      全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚函数、模板和包容器类、多重继承、异常处理和运行时类型识别。
      
      本书作为正式教材和自学用书均非常优秀,作为程序设计者的参考用书亦极为合适。 目      录

    译者序

    前言

    第1章   对象的演化1

    1.1   基本概念1

    1.1.1   对象:特性+行为1

    1.1.2   继承:类型关系1

    1.1.3   多态性2

    1.1.4   操作概念:OOP程序像什么3

    1.2   为什么C++会成功3

    1.2.1   较好的C3

    1.2.2   采用渐进的学习方式4

    1.2.3   运行效率4

    1.2.4   系统更容易表达和理解4

    1.2.5   “库”使你事半功倍4

    1.2.6   错误处理5

    1.2.7   大程序设计5

    1.3   方法学介绍5

    1.3.1   复杂性5

    1.3.2   内部原则6

    1.3.3   外部原则7

    1.3.4   对象设计的五个阶段9

    1.3.5   方法承诺什么10

    1.3.6   方法应当提供什么10

    1.4   起草:最小的方法12

    1.4.1   前提13

    1.4.2   高概念14

    1.4.3   论述(treatment)14

    1.4.4   结构化14

    1.4.5   开发16

    1.4.6   重写17

    1.4.7   逻辑17

    1.5   其他方法17

    1.5.1   Booch18

    1.5.2   责任驱动的设计(RDD)19

    1.5.3   对象建模技术(OMT)19

    1.6   为向OOP转变而采取的策略19

    1.6.1   逐步进入OOP19

    1.6.2   管理障碍20

    1.7   小结21

    第2章   数据抽象22

    2.1   声明与定义22

    2.2   一个袖珍C库23

    2.3   放在一起:项目创建工具29

    2.4   什么是非正常29

    2.5   基本对象30

    2.6   什么是对象34

    2.7   抽象数据类型35

    2.8   对象细节35

    2.9   头文件形式36

    2.10   嵌套结构37

    2.11   小结41

    2.12   练习41

    第3章   隐藏实现42

    3.1   设置限制42

    3.2   C++的存取控制42

    3.3   友元44

    3.3.1   嵌套友元45

    3.3.2   它是纯的吗48

    3.4   对象布局48

    3.5   类48

    3.5.1   用存取控制来修改stash50

    3.5.2   用存取控制来修改stack51

    3.6   句柄类(handle classes)51

    3.6.1   可见的实现部分51

    3.6.2   减少重复编译52

    3.7   小结54

    3.8   练习54

    第4章   初始化与清除55

    4.1   用构造函数确保初始化55

    4.2   用析构函数确保清除56

    4.3   清除定义块58

    4.3.1   for循环59

    4.3.2  空间分配60

    4.4   含有构造函数和析构函数的stash61

    4.5   含有构造函数和析构函数的stack63

    4.6   集合初始化65

    4.7   缺省构造函数67

    4.8   小结68

    4.9   练习68

    第5章   函数重载与缺省参数69

    5.1   范围分解69

    5.1.1   用返回值重载70

    5.1.2   安全类型连接70

    5.2   重载的例子71

    5.3   缺省参数74

    5.4   小结81

    5.5   练习82

    第6章   输入输出流介绍83

    6.1   为什么要用输入输出流83

    6.2   解决输入输出流问题86

    6.2.1   预先了解操作符重载86

    6.2.2   插入符与提取符87

    6.2.3   通常用法88

    6.2.4   面向行的输入90

    6.3   文件输入输出流91

    6.4   输入输出流缓冲93

    6.5   在输入输出流中查找94

    6.6   strstreams96

    6.6.1   为用户分配的存储96

    6.6.2   自动存储分配98

    6.7   输出流格式化100

    6.7.1   内部格式化数据101

    6.7.2   例子102

    6.8   格式化操纵算子106

    6.9   建立操纵算子108

    6.10   输入输出流实例111

    6.10.1   代码生成111

    6.10.2   一个简单的数据记录117

    6.11   小结123

    6.12   练习123

    第7章   常量124

    7.1   值替代124

    7.1.1   头文件里的const124

    7.1.2   const的安全性125

    7.1.3   集合126

    7.1.4   与C语言的区别126

    7.2   指针127

    7.2.1   指向const的指针127

    7.2.2   const指针127

    7.2.3   赋值和类型检查128

    7.3   函数参数和返回值128

    7.3.1   传递const值128

    7.3.2   返回const值129

    7.3.3   传递和返回地址131

    7.4   类133

    7.4.1   类里的const和enum133

    7.4.2   编译期间类里的常量134

    7.4.3   const对象和成员函数136

    7.4.4   只读存储能力139

    7.5   可变的(volatile)140

    7.6   小结141

    7.7   练习141

    第8章   内联函数142

    8.1   预处理器的缺陷142

    8.2   内联函数144

    8.2.1   类内部的内联函数145

    8.2.2   存取函数146

    8.3   内联函数和编译器150

    8.3.1   局限性150

    8.3.2   赋值顺序150

    8.3.3   在构造函数和析构函数里隐藏行为151

    8.4   减少混乱152

    8.5   预处理器的特点153

    8.6   改进的错误检查154

    8.7   小结155

    8.8   练习155

    第9章   命名控制157

    9.1   来自C语言中的静态成员157

    9.1.1   函数内部的静态变量157

    9.1.2   控制连接160

    9.1.3   其他的存储类型指定符161

    9.2   名字空间161

    9.2.1   产生一个名字空间162

    9.2.2   使用名字空间163

    9.3   C++中的静态成员166

    9.3.1   定义静态数据成员的存储166

    9.3.2   嵌套类和局部类168

    9.3.3   静态成员函数169

    9.4   静态初始化的依赖因素171

    9.5   转换连接指定174

    9.6   小结174

    9.7   练习174

    第10章   引用和拷贝构造函数176

    10.1   C++中的指针176

    10.2   C++中的引用176

    10.2.1   函数中的引用177

    10.2.2   参数传递准则178

    10.3   拷贝构造函数179

    10.3.1   传值方式传递和返回179

    10.3.2   拷贝构造函数182

    10.3.3   缺省拷贝构造函数187

    10.3.4   拷贝构造函数方法的选择188

    10.4   指向成员的指针
  • 内容简介:
    本书作者根据自已学习C++的亲身体会及多年教学经验,用简单的例子和简练的叙述讲解C++编程,别具特色。
      
      全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚函数、模板和包容器类、多重继承、异常处理和运行时类型识别。
      
      本书作为正式教材和自学用书均非常优秀,作为程序设计者的参考用书亦极为合适。
  • 目录:
    目      录

    译者序

    前言

    第1章   对象的演化1

    1.1   基本概念1

    1.1.1   对象:特性+行为1

    1.1.2   继承:类型关系1

    1.1.3   多态性2

    1.1.4   操作概念:OOP程序像什么3

    1.2   为什么C++会成功3

    1.2.1   较好的C3

    1.2.2   采用渐进的学习方式4

    1.2.3   运行效率4

    1.2.4   系统更容易表达和理解4

    1.2.5   “库”使你事半功倍4

    1.2.6   错误处理5

    1.2.7   大程序设计5

    1.3   方法学介绍5

    1.3.1   复杂性5

    1.3.2   内部原则6

    1.3.3   外部原则7

    1.3.4   对象设计的五个阶段9

    1.3.5   方法承诺什么10

    1.3.6   方法应当提供什么10

    1.4   起草:最小的方法12

    1.4.1   前提13

    1.4.2   高概念14

    1.4.3   论述(treatment)14

    1.4.4   结构化14

    1.4.5   开发16

    1.4.6   重写17

    1.4.7   逻辑17

    1.5   其他方法17

    1.5.1   Booch18

    1.5.2   责任驱动的设计(RDD)19

    1.5.3   对象建模技术(OMT)19

    1.6   为向OOP转变而采取的策略19

    1.6.1   逐步进入OOP19

    1.6.2   管理障碍20

    1.7   小结21

    第2章   数据抽象22

    2.1   声明与定义22

    2.2   一个袖珍C库23

    2.3   放在一起:项目创建工具29

    2.4   什么是非正常29

    2.5   基本对象30

    2.6   什么是对象34

    2.7   抽象数据类型35

    2.8   对象细节35

    2.9   头文件形式36

    2.10   嵌套结构37

    2.11   小结41

    2.12   练习41

    第3章   隐藏实现42

    3.1   设置限制42

    3.2   C++的存取控制42

    3.3   友元44

    3.3.1   嵌套友元45

    3.3.2   它是纯的吗48

    3.4   对象布局48

    3.5   类48

    3.5.1   用存取控制来修改stash50

    3.5.2   用存取控制来修改stack51

    3.6   句柄类(handle classes)51

    3.6.1   可见的实现部分51

    3.6.2   减少重复编译52

    3.7   小结54

    3.8   练习54

    第4章   初始化与清除55

    4.1   用构造函数确保初始化55

    4.2   用析构函数确保清除56

    4.3   清除定义块58

    4.3.1   for循环59

    4.3.2  空间分配60

    4.4   含有构造函数和析构函数的stash61

    4.5   含有构造函数和析构函数的stack63

    4.6   集合初始化65

    4.7   缺省构造函数67

    4.8   小结68

    4.9   练习68

    第5章   函数重载与缺省参数69

    5.1   范围分解69

    5.1.1   用返回值重载70

    5.1.2   安全类型连接70

    5.2   重载的例子71

    5.3   缺省参数74

    5.4   小结81

    5.5   练习82

    第6章   输入输出流介绍83

    6.1   为什么要用输入输出流83

    6.2   解决输入输出流问题86

    6.2.1   预先了解操作符重载86

    6.2.2   插入符与提取符87

    6.2.3   通常用法88

    6.2.4   面向行的输入90

    6.3   文件输入输出流91

    6.4   输入输出流缓冲93

    6.5   在输入输出流中查找94

    6.6   strstreams96

    6.6.1   为用户分配的存储96

    6.6.2   自动存储分配98

    6.7   输出流格式化100

    6.7.1   内部格式化数据101

    6.7.2   例子102

    6.8   格式化操纵算子106

    6.9   建立操纵算子108

    6.10   输入输出流实例111

    6.10.1   代码生成111

    6.10.2   一个简单的数据记录117

    6.11   小结123

    6.12   练习123

    第7章   常量124

    7.1   值替代124

    7.1.1   头文件里的const124

    7.1.2   const的安全性125

    7.1.3   集合126

    7.1.4   与C语言的区别126

    7.2   指针127

    7.2.1   指向const的指针127

    7.2.2   const指针127

    7.2.3   赋值和类型检查128

    7.3   函数参数和返回值128

    7.3.1   传递const值128

    7.3.2   返回const值129

    7.3.3   传递和返回地址131

    7.4   类133

    7.4.1   类里的const和enum133

    7.4.2   编译期间类里的常量134

    7.4.3   const对象和成员函数136

    7.4.4   只读存储能力139

    7.5   可变的(volatile)140

    7.6   小结141

    7.7   练习141

    第8章   内联函数142

    8.1   预处理器的缺陷142

    8.2   内联函数144

    8.2.1   类内部的内联函数145

    8.2.2   存取函数146

    8.3   内联函数和编译器150

    8.3.1   局限性150

    8.3.2   赋值顺序150

    8.3.3   在构造函数和析构函数里隐藏行为151

    8.4   减少混乱152

    8.5   预处理器的特点153

    8.6   改进的错误检查154

    8.7   小结155

    8.8   练习155

    第9章   命名控制157

    9.1   来自C语言中的静态成员157

    9.1.1   函数内部的静态变量157

    9.1.2   控制连接160

    9.1.3   其他的存储类型指定符161

    9.2   名字空间161

    9.2.1   产生一个名字空间162

    9.2.2   使用名字空间163

    9.3   C++中的静态成员166

    9.3.1   定义静态数据成员的存储166

    9.3.2   嵌套类和局部类168

    9.3.3   静态成员函数169

    9.4   静态初始化的依赖因素171

    9.5   转换连接指定174

    9.6   小结174

    9.7   练习174

    第10章   引用和拷贝构造函数176

    10.1   C++中的指针176

    10.2   C++中的引用176

    10.2.1   函数中的引用177

    10.2.2   参数传递准则178

    10.3   拷贝构造函数179

    10.3.1   传值方式传递和返回179

    10.3.2   拷贝构造函数182

    10.3.3   缺省拷贝构造函数187

    10.3.4   拷贝构造函数方法的选择188

    10.4   指向成员的指针
查看详情
相关图书 / 更多
C++编程思想
C++边做边学
冯玉芬;周树功;母景琴;詹胜
C++编程思想
C++程序设计基础教程 第2版
刘厚泉 李政伟 葛欣
C++编程思想
C++编程这样学
胡芳
C++编程思想
C++程序设计案例教程(线上线下混合版)
杨卫明;李晓虹
C++编程思想
C++之旅(第3版)
[美]Bjarne Stroustrup(本贾尼 斯特劳斯特鲁普
C++编程思想
C++20代码整洁之道:可持续软件开发模式实践(原书第2版)
[德]斯蒂芬·罗斯(Stephan Roth)
C++编程思想
C++ Core Guidelines解析
杨文波 译;[德]赖纳·格林(Rainer Grimm)著 吴咏炜;何荣华;张云潮
C++编程思想
C++程序设计(第4版)
周会平;徐建军;王挺
C++编程思想
C++开发案例精讲
杨国兴 著
C++编程思想
C++程序设计实践教程(新国标微课版)
马光志
C++编程思想
C++程序设计基础与实践
牛园园;韩洁琼;李晓芳;吴成宇
C++编程思想
C++程序设计基础教程
丁卫平 程学云 陈文兰 主编;任红建 沈晓红 文万志 副主编
您可能感兴趣 / 更多
C++编程思想
宇宙视觉史:从宇宙大爆炸到时间的尽头
[美]查尔斯·刘 著;高爽 译者;[美]马克西姆· 马洛维奇科 绘;未读 出品
C++编程思想
写出我心 普通人如何通过写作表达自己(平装本)
[美]娜塔莉·戈德堡(Natalie Goldberg)
C++编程思想
写出我心3 写作疗愈的真正秘密
[美]娜塔莉·戈德堡(Natalie Goldberg)
C++编程思想
神套路:为什么我们总被带节奏(狂热与网红时代醍醐灌顶之作,教给普通人安身立命的不二法门!)
[美]阿里·阿莫萨维 著;[哥伦比亚]亚历杭德罗·希拉尔多 绘
C++编程思想
阿伦森自传
[美]埃利奥特·阿伦森(Elliot Aronson) 著;沈捷 译;湛庐文化 出品
C++编程思想
街头官僚:公共服务中的个人困境
[美]迈克尔·李普斯基(Michael Lipsky)
C++编程思想
史前至蒙古帝国时期的内欧亚大陆史
[美]大卫·克里斯蒂安 著;潘玲 译;杨建华 校
C++编程思想
意大利文艺复兴新艺术史
[美]迈克尔·韦恩·科尔 著;[美]斯蒂芬·J·坎贝尔;邵亦杨
C++编程思想
老人与海 彩图注音版 一二三四年级5-6-7-8-9岁小学生课外阅读经典 儿童文学无障碍有声伴读世界名著童话故事
[美]海明威
C++编程思想
养育的觉醒:全面激发孩子自驱力,教你如何心平气和做妈妈
[美]凯文·莱曼 著;唐晓璐 译;斯坦威 出品
C++编程思想
自律我也能做到(全9册)
[美]康妮·科维尔·米勒 著;[阿根廷]维多利亚·阿萨纳利 绘
C++编程思想
你在等什么?
[美]斯科特·明钦 著;[中]易万 译;[美]马特 ·斐兰 绘