第1章 程序设计基本概念 1
1.1计算机系统概述 1
1.1.1什么是计算机系统 1
1.1.2计算机硬件 1
1.1.3计算机软件 3
1.2程序设计基本概念 4
1.2.1问题求解过程 4
1.2.2算法与程序 5
1.2.3程序设计语言 9
1.3程序设计方法 11
1.3.1结构化程序设计 11
1.3.2面向对象程序设计 12
1.4 C与C++ 13
1.4.1 C语言 13
1.4. 2 C+++语言 14
1.5 C++编程简介 15
1.5.1 C+++编程的典型过程 15
1.5.2一个简单的C++程序 17
1.6程序设计风格 19
练习 21
第2章 面向对象程序设计基本概念 23
2.1面向对象语言的发展 23
2.2面向对象方法 24
2.3类、对象和消息 26
2.3.1类和对象 26
2.3.2消息 28
2.4面向对象程序设计的特点 30
2.5面向对象程序的结构 33
练习 36
第3章 输入和输出 37
3.1 C++的输入和输出 37
3.2字符输入输出函数 38
3.2.1字符输入函数getchar 38
3.2.2字符输出 函数putchar 38
3.3格式化输入输出 39
3.3.1格式化输入函数scanf 39
3.3.2格式化输出 函数printf 41
3.3.3格式化输入输出函数应用示例 44
3.4用流进行输入输出 50
3.4.1通过流插入运算符输出数据 51
3.4.2通过流提取运算符输入数据 52
3.5流操纵算子 53
3.5.1设置整数基数的流操纵算子 54
3.5.2设置浮点数精度的流操纵算子 55
3.5.3设置域宽的流操纵算子 57
3.6流格式状态标志 58
练习 62
第4章 类与对象 65
4.1数据抽象的概念 65
4.2抽象数据类型 67
4.2.1封装与信息隐藏 67
4.2.2接口与实现的分离 68
4.2.3用结构实现用户定义类型:栈 69
4.2.4用类实现抽象数据类型:栈 74
4.3类和对象的定义 80
4.3.1数据成员 80
4.3.2成员函数 82
4.3.3访问控制 83
4.3.4静态成员 85
4.3.5对象的建立 89
4.4构造函数 92
4.4.1构造函数的作用 92
4.4.2构造函数执行的时机 93
4.4.3构造函数重载 94
4.4.4默认构造函数 96
4.4.5复制构造函数 98
4.5析构函数 99
4.5.1析构函数的作用 100
4.5.2析构函数执行的时机 100
练习 102
第5章 类和对象的使用 107
5.1类的复合 107
5.2 this指针 112
5.3 const特性 116
5.4友元函数和友元类 122
5.4.1友元函数 122
5.4.2友元类 125
练习 127
第6章 运算符重载 131
6.1运算符重载的概念 131
6.1.1运算符重载的意义 132
6.1.2运算符重载的限制 133
6.2.运算符成员函数与友元函数 134
6.3单目运算符重载 135
6.4重载流插入和流提取运算符 141
6.5双目运算符重载 145
6.6赋值运算符重载 149
6.7类型之间的转换 153
练习 163
第7章 继承 167
7.1继承和派生的概念 167
7.2继承的定义 168
7.2.1派生类和基类 169
7.2.2继承的方式 171
7.2.3类的层次 172
7.2.4在派生类中重定义(override)基类的函数 173
7.2.5派生类和基类的转换 178
7.3类指针 179
7.4继承中的构造函数和析构函数 186
7.5多重继承 191
7.6软件渐增式开发 196
7.6.1复合与继承 197
7.6.2示例 198
练习 212
第8章 多态性 214
8.1多态性的概念 214
8.1.1静态绑定和动态绑定 214
8.1.2多态性的意义 215
8.2虚函数 217
8.3抽象基类和纯虚函数 221
8.3.1纯虚函数 222
8.3.2 抽 222
象类和具体类 222
8.4虚析构函数 228
8.5软件渐增式开发 231
练习 240
第9章 文件和流 242
9.1基本概念 242
9.2打开、建立文件 243
9.3写文件 247
9.4读文件 249
练习 257
第10章 异常 259
10.1异常处理的意义 259
10.2异常处理基础 260
10.3异常的抛出和传播 263
10.4异常的捕获和处理 268
练习 272
第11章 模板 274
11.1类属机制 274
11.2函数模板 276
11.2.1函数模板的定义 276
11.2.2使用函数模板 278
11.3类模板 283
11.3.1类模板的定义 283
11.3.2使用类模板 285
练习 288
第12章 类库和软件重用 290
12.1面向对象和软件重用 290
12.1.1面向对象程序设计方法回顾 290
12.1.2软件重用的概念 292
12.1.3流行的软件重用技术 294
12.2 C++类库 295
12.2.1 C++标准库 295
12.2.2 MFC类库 300
12.3小结 302
练习 303
参考文献 304