第1章 程序设计及C++概述 1
1.1 程序设计的基本概念 1
1.1.1 程序和程序文件 1
1.1.2 程序设计和程序设计语言 1
1.2 面向对象的软件开发过程 3
1.2.1 分析 3
1.2.2 设计 3
1.2.3 编程 3
1.2.4 测试 4
1.2.5 维护 4
1.3 C++概述 4
1.3.1 C++的发展与特点 4
1.3.2 简单的C++程序 5
1.3.3 C++程序的开发过程 6
小结 6
习题 7
第2章 C++在非面向对象方向的实现 8
2.1 标识符和数据类型 8
2.1.1 标识符 8
2.1.2 数据类型 9
2.2 常量及变量 10
2.2.1 常量 10
2.2.2 变量 12
2.3 运算符和表达式 14
2.3.1 各种运算符和表达式 14
2.3.2 表达式中的类型转换 19
2.4 程序流程控制 20
2.4.1 基本结构 20
2.4.2 选择结构 21
2.4.3 循环结构 24
2.5 数组 27
2.5.1 一维数组 28
2.5.2 二维数组 29
2.6 指针和引用 32
2.7 结构体、共用体和枚举 33
2.7.1 结构体 34
2.7.2 共用体 38
2.7.3 枚举 41
2.8 简单的输入输出 44
小结 46
习题 46
第3章 类和对象 49
3.1 面向对象程序设计概述 49
3.2 类 50
3.2.1 类的定义 50
3.2.2 成员函数的定义 53
3.3 对象 55
3.3.1 类与对象的关系 55
3.3.2 对象的定义 55
3.3.3 对象成员的引用 57
3.3.4 类的作用域 58
3.4 this指针 60
小结 61
习题 61
第4章 构造函数和析构函数 66
4.1 构造函数 66
4.1.1 构造函数的定义与使用 66
4.1.2 带参数的构造函数 69
4.1.3 用成员初始化列表对数据成员初始化 71
4.1.4 带缺省参数的构造函数 73
4.1.5 拷贝构造函数 75
4.2 析构函数 78
4.3 对象数组和对象指针 80
4.3.1 对象数组 80
4.3.2 对象指针 82
4.4 静态成员 84
4.4.1 静态数据成员 84
4.4.2 静态成员函数 86
4.5 友元 88
4.5.1 友元函数 88
4.5.2 友元类 90
小结 92
习题 93
第5章 重载 98
5.1 函数重载 98
5.2 运算符重载 100
5.2.1 运算符重载概述 100
5.2.2 运算符重载的两种形式 101
小结 105
习题 106
第6章 继承和派生类 107
6.1 继承和派生类 107
6.1.1 继承与派生的概念 107
6.1.2 继承的作用 108
6.1.3 派生类的定义 108
6.1.4 派生类的继承方式 110
6.2 派生类的构造函数和析构函数 116
6.2.1 构造函数 116
6.2.2 析构函数 119
6.3 多重继承 121
6.3.1 多重继承的实现 121
6.3.2 多重继承的构造函数和析构函数 123
6.3.3 虚基类 126
小结 128
习题 129
第7章 多态性和虚函数 133
7.1 多态性概述 133
7.2 静态联编和动态联编 134
7.3 虚函数 134
7.3.1 虚函数的作用和定义 134
7.3.2 虚析构函数 137
7.4 抽象类和纯虚函数 138
7.4.1 纯虚函数 138
7.4.2 抽象类 139
小结 140
习题 141
第8章 模板 144
8.1 模板的概念 144
8.2 函数模板 145
8.2.1 函数模板的声明 145
8.2.2 函数模板的实例化 146
8.3 类模板 148
8.3.1 类模板的声明 148
8.3.2 类模板的实例化 149
小结 150
习题 151
第9章 C++的输入输出 153
9.1 C++流类库及其基本结构 153
9.1.1 流的概念 153
9.1.2 基本I/O流类库 154
9.1.3 预定义的标准输入输出流 155
9.2 格式化输入输出 158
9.2.1 ios类的格式状态标志和格式控制函数 159
9.2.2 流操纵符 163
9.3 文件操作 165
9.3.1 文件的概念 165
9.3.2 文件的打开与关闭 166
9.3.3 文件的读写 169
小结 175
习题 175
第10章 异常处理 178
10.1 异常处理概述 178
10.2 C++的异常处理机制 179
10.2.1 异常处理的形式 179
10.2.2 异常处理的执行过程 180
小结 182
习题 182
第11章 综合应用实例 184
11.1 面向对象程序设计的一般方法 184
11.2 综合实例:学生管理系统 185
11.2.1 问题描述 185
11.2.2 类设计 185
11.2.3 核心控制设计 185
11.2.4 源代码 185
第12章 上机实验 215
12.1 C++集成开发环境 215
12.1.1 进入和退出Visual C++ 6.0集成开发环境 215
12.1.2 C++程序的开发过程 216
12.2 上机实验 220
12.2.1 C++程序设计基础练习实验 220
12.2.2 类和对象实验 220
12.2.3 构造函数和析构函数实验 221
12.2.4 函数重载和运算符重载实验 221
12.2.5 派生类与继承实验 222
12.2.6 多态性与虚函数实验 222
12.2.7 函数模板与类模板实验 223
12.2.8 输入输出的格式控制实验 223
12.2.9 异常处理实验 223
12.2.10 综合练习实验 224
附录A ASCII字符表 225
参考文献 227