作者:empty 页数:151 出版社:empty |
第1章象的演化算机革命起源于一台机器,程序□言也源于一台机器。然而算机并不是一台机器,它是心智放大器和另一种有表述能力的媒体。一点使它不很像机器,而更像我大的一部分,更像其他有表述能力的手段,例如军作、画、雕刻、面制作或影制作。面向象的程序是算机向有表迹能力的媒体展中的一部分。
本章将介面向象程序(OOP) 的基本概念, 然后OOP开方法, 最后介使程序、目和公司使用面向象程序方法而采用的策略回来学本章。本章是一些背景材料,如果者急于学言的具体内容,可以跳到第2章,然后再
1.1基本概念C++包含了比面向象程序基本概念更多的内容,者当在学和开程序之前先理解营所包含的基本概念。1.1.1象:特性+行典型的模是行出,包括出部、客、、的位等大量的“象。把那些在程序行期除了状之外其他方面都一的象在一起,构成象的“”.就是“”一的来源。第一个面向象的程序言是60年代开的Simula-67, 其目的是了解决模,描述了一有相同特性(数据元素)和相同行(函数)的象。上就是数据型,例如,浮点数也有一特性和行,区在于程序定是了与具体相适,而不是被迫使用已存在的数据型。些已存在的数据型的机□是了描述机器的存元。程序可以通增添他所需要的新数据型来展个程序言.程序系迎建、关注新的,它行与内部型一的型,序都模所系。OOP技能很容易地将大量□□成一个的解, 一□生种方法并不限于去模具体。尽管不是所有的人都同意,但大部分人相信,任何程了大量的OOP言, 其中最著名的是Smalltalk一C++之前最成功的OOP言。抽象数据型的建是面向象程序中的一个基本概念。抽象数据型几乎能像内部型一准确工作。程序可以建型的量(在面向象程序中称“象”或“例”)并操些量(称送“消息”或“求”,象根据来的消息知道需要做什么事情)。
译者序
前言
第1章
对象的演化1
基本概念1
对象:特性+行为1
继承:类型关系1
多态性2
操作概念:OOP程序像什么3
为什么C++会成功3
较好的C3
采用渐进的学习方式4
运行效率4
系统更容易表达和理解4
“库”使你事半功倍4
错误处理5
大程序设计5
方法学介绍5
复杂性5
内部原则6
外部原则7
对象设计的五个阶段9
方法承诺什么10
方法应当提供什么10
起草:最小的方法12
前提13
高概念14
论述(treatment) 14
结构化14
开发16
重写17
逻辑17
其他方法17
Booch 18
责任驱动的设计(RDD)19
对象建模技术(OMT) 19
为向OOP转变而采取的策略19
逐步进入OOP 19
管理障碍20
小结21
数据抽象22
声明与定义22
一个袖珍C库23
放在一起:项目创建工具29
什么是非正常29
基本对象30
什么是对象34
抽象数据类型35
对象细节35
头文件形式36
嵌套结构37
小结41
1241
2.12练习41
第3章隐藏实现42
3.1设置限制42
C++的存取控制42
友元44
嵌套友元45
它是纯的吗48
对象布局48
类
48
用存取控制来修改stash 50
用存取控制来修改stack 51
句柄类(handle classes)51
可见的实现部分51
减少重复编译52
小结54
练习54
第4章初始化与清除55
4.1用构造函数确保初始化55
4.2用析构函数确保清除56
4.3清除定义块58
4.3.1for循环59
4.3.2空间分配60
含有构造函数和析构函数的stash 61
含有构造函数和析构函数的stack 63
集合初始化65
缺省构造函数67
小结68
练习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.6str streams 96
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
头文件里的const
const的安全性125
集合126
与C语言的区别
指针127
指向const的指针
const指针127
赋值和类型检查
函数参数和返回值
传递const值
返回const值
传递和返回地址
类133
类里的const和enum
编译期间类里的常量
const对象和成员函数
只读存储能力
可变的(volatile)
小结141
练习141
第8章内联函数142
8.1预处理器的缺陷142
8.2内联函数144
8.2.1类内部的内联函数145
8.2.2存取函数
8.3内联函数和编译器
8.3.1局限性150
8.3.2赋值顺序
在构造函数和析构函数里隐藏行为151
减少混乱152
预处理器的特点153
改进的错误检查154
小结155
练习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.3C++中的静态成员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.1C++中的指针176
10.2C++中的引用176
10.2.1函数中的引用177
10.2.2参数传递准则178
10.3拷贝构造函数179
10.3.1传值方式传递和返回179
10.3.2拷贝构