第一部分 面向对象的方法学 3
第1章 面向对象基础 3
1.1为什么要用面向对象 3
1.1.1软硬件发展不平衡 3
1.1.2软件的重用性问题 4
1.1.3软件的复杂性问题 6
1.2面向对象方法的由来及发展 7
1.2.1程序设计语言的变革规律 7
1.2.2面向对象程序设计语言的形成 9
1.2.3面向对象的方法学的形成 10
1.3面向对象的基本概念、机制和原理 12
1.3.1对象(Object) 12
1.3.2对象类(Class) 14
1.3.3消息(Message) 15
1.3.4继承性(Inheritance) 16
1.3.5多态性(Polymorphism) 18
1.3.6动态编联(Dynamic Binding) 19
本章小结 20
习题 20
第2章 面向对象的软件开发 21
2.1经典的面向对象模型及其评价 21
2.2三维的面向对象模型 24
2.2.1面向对象的信息模型 24
2.2.2面向对象的动态模型 28
2.2.3面向对象的协作模型 30
2.3面向对象的软件开发过程 32
2.3.1面向对象的分析(OOA) 32
2.3.2面向对象的设计(OOD) 34
2.3.3面向对象的实现(OOP) 35
本章小结 35
习题 35
第二部分 面向对象的程序设计语言C++ 39
第3章 一个更好的C 39
3.1 Hello,World! 39
3.2标识符 41
3.2.1作用域 41
3.2.2类型 42
3.2.3内存对象 44
3.2.4 const类型说明 44
3.2.5 volatile类型说明 46
3.3引用 47
3.4函数原型 52
3.5内置函数 53
3.6带默认参数的函数 54
3.7函数名重载 56
3.8 new和delete 58
本章小结 60
习题 60
第4章 类和对象 62
4.1类和对象的定义与实现 62
4.1.1类的定义与实现 62
4.1.2对象的声明与应用 69
4.2构造函数和析构函数 72
4.2.1构造函数 72
4.2.2析构函数 76
4.3类的自引用 80
4.4友元 82
4.5类和数组 85
4.5.1类对象数组 85
4.5.2类对象指针数组 86
4.5.3类对象数据成员数组 86
4.5.4类数据成员指针数组 86
4.5.5类成员函数指针数组 87
4.6静态成员 88
4.6.1静态的数据成员 88
4.6.2静态的成员函数 89
4.7类的对象成员 90
4.8 const与volatile成员函数 92
4.9其他 94
本章小结 94
习题 94
第5章 重载多态性:运算符函数 96
5.1运算符的重载 97
5.1.1运算符重载的语法 98
5.1.2成员函数重载运算符 99
5.1.3友元函数重载运算符 102
5.2重载+++和-- 103
5.3重载= 105
5.4重载[] 107
5.5重载() 109
5.6重载type 110
5.7重载new和delete 112
本章小结 115
习题 115
第6章 继承性:派生的类 117
6.1单继承 118
6.1.1单继承概述 118
6.1.2单继承的进一步讨论 122
6.2多继承 129
6.2.1多继承概述 129
6.2.2多继承的进一步讨论 132
6.3赋值兼容规则 135
6.4案例分析 138
本章小结 142
习题 142
第7章 包含多态性:虚函数 144
7.1虚函数 145
7.1.1虚函数概述 145
7.1.2虚函数的进一步讨论 149
7.1.3虚函数的应用 152
7.2多态性实例分析 155
7.3多态性的进一步讨论 165
本章小结 171
习题 171
第8章 参数多态性:模板 172
8.1函数模板 172
8.1.1函数模板概述 172
8.1.2重载函数模板 177
8.2类模板 179
8.2.1类模板概述 180
8.2.2类模板的友元 182
8.2.3类模板的例子 185
本章小结 190
习题 190
第三部分 类库 195
第9章 流库 195
9.1流库的类层次结构 196
9.1.1 streambuf类层次结构 197
9.1.2 ios类层次结构 202
9.2重载操作符>>和<< 219
9.3操作函数 221
9.3.1预定义的操作函数 221
9.3.2用户定义的无参操作函数 223
9.3.3用户定义的有参操作参数 225
9.4类库的扩充 227
本章小结 229
习题 229
第10章Windows人机界面类库 231
10.1 Windows编程基础 231
10.1.1 Windows程序设计的特点 231
10.1.2 Windows的基本概念 234
10.1.3 Windows应用程序的基本结构 237
10.2 Visual C++概述 241
10.2.1 Visual C++的特点 241
10.2.2 Visual C++的集成环境 247
10.3 MFC类库 251
10.3.1 MFC概述 251
10.3.2对话框 257
10.3.3基本控件介绍 257
10.3.4案例分析 265
本章小结 268
参考文献 269