第一章 Microsoft C/C++ 7.0的安装与使用 1
1.1 系统需求 1
1.2 安装环境 1
1.2.1 在MS Windows 3.x中安装 1
1.2.2 在DOS环境中安装MS C/C++ 7.0 9
1.3 在Windows中可能出现的问题 12
1.4 启动MS C/C++ 7.0 14
1.5 如何利用PWB设计程序 16
1.5.1 打开文件 16
1.5.2 保存用户程序 19
1.5.3 产生可执行文件 20
1.6 利用Project开发大型应用程序 22
第二章 C++的新特征 25
2.1 注释 25
2.2 C++的简单输入/输出 26
2.3 C++动态内存分配 27
2.4 定义与声明 28
2.4.1 数据的定义与声明 28
2.4.2 函数的声明与定义 30
2.5 引用类型 33
2.6 作用域操作符 35
2.7 const变量 37
2.8 void指针 38
2.9 sizeof操作符 38
2.10 C++中新增加的关键字 38
2.11 C++的结构数据类型 38
第三章 C++中的函数 41
3.1 函数原型 41
3.2 为什么需要函数原型 41
3.3 函数参数的传递 44
3.3.1 实参与形参 44
3.3.2 传值 44
3.3.3 传地址 45
3.3.4 用引用类型的数据传递信息 47
3.4 inline函数 58
3.5 inline函数不是宏 60
3.6 函数的缺省参数 61
3.7 重载函数 64
3.8 函数重载时可能发生的问题 66
3.9 函数指针 67
第四章 类与数据封装 71
4.1 什么是类 71
4.2 什么是对象 71
4.3 怎样设计类 71
4.4 构造函数 81
4.5 析构函数 83
4.6 成员初始化表 84
4.7 再论构造函数与成员初始化表 89
4.8 拷贝构造函数 92
4.9 特殊的结构类型 100
第五章 类的应用 102
5.1 类的友元 102
5.2 类的静态成员 105
5.2.1 静态数据成员 105
5.2.2 静态成员函数 109
5.3 this指针 111
5.4 类成员指针 116
5.4.1 数据成员指针 116
5.4.2 成员函数指针 117
5.4.3 指向静态成员的指针 118
5.5 类数组 122
5.6 编写面向对象的程序 125
第六章 重载操作符 129
6.1 重载操作符的应用 129
6.2 类数据类型的转换 154
6.2.1 将其他数据类型转换成用户定义的数据类型 154
6.2.2 将用户定义的数据类型转换成其他数据类型 159
6.3 设计转换函数时应注意的问题 164
第七章 继承 168
7.1 基类与派生类 168
7.2 基类中的数据隐藏 168
7.3 派生类的定义方法 179
7.4 公有基类与私有基类 180
7.5 派生类的数据成员及成员函数的定义与使用 181
7.6 派生类构造函数的设计 185
7.7 再论派生类构造函数 187
7.7.1 构造函数的调用顺序 187
7.7.2 省略基类构造函数的名称 189
7.7.3 调用基类的构造函数 190
7.7.4 忽略调用基类构造函数 190
7.8 派生类的成员函数及数据成员与类作用域的关系 192
7.9 覆盖函数并非重载函数 202
7.10 类的友元没有继承性 202
7.11 扩充程序 202
7.11.1 把上次继承的结果作为本次继承的资源 202
7.11.2 多重继承 207
7.12 多重继承下的不确定问题 212
第八章 虚拟函数与多态 217
8.1 派生类与基类的转换 217
8.2 静态联编与动态联编 219
8.3 虚拟函数 222
8.3.1 何时定义虚拟函数 226
8.3.2 虚拟函数的定义 228
8.3.3 虚拟函数的调用 229
8.3.4 虚拟函数与继承的关系 236
8.3.5 虚拟函数的数据封装 242
8.4 两个特殊的虚拟函数 244
8.4.1 纯虚拟函数 244
8.4.2 虚拟析构函数 248
8.5 虚拟基类 251
第九章 再论C++的I/O 261
9.1 iostream.h的内容 261
9.1.1 操纵函数 262
9.2 类ios 265
9.2.1 数据流的状态 265
9.2.2 数据流的格式化 266
9.3 类ios中的其他成员函数与操纵函数 272
9.4 其它格式标志 273
9.5 派生类ostream与输出 275
9.5.1 派生类ostream中有关输出的其他成员函数 275
9.5.2 输出操作符<<的重载 277
9.6 派生类istream与输入 282
9.6.1 派生类istream中用于输入的其他成员函数 282
9.6.2 输入操作符>>的重载 284
9.7 有关文件的I/O 287
9.7.1 ofstream与文件的输出 287
9.7.2 ifstream与文件的读取 288
9.8 文件数据流操作 288
9.8.1 成员函数open()与close() 288
9.8.2 检查操作文件数据流时可能产生的错误 290
9.8.3 成员函数clear()与rdstate()的使用 293
9.8.4 在文件中移动 294