第1章 绪论 1
1.1 从C到C++ 1
1.2 C++语言的特点 1
1.3 最简单的C++程序 1
1.4 C++语言的基本符号 4
1.5 C++语言的词汇 5
1.5.1 关键字 5
1.5.2 标识符 6
1.5.3 常量 6
1.5.4 运算符 9
1.5.5 标点符号 13
1.6 C++程序编写和实现 14
1.7 应用实例 17
1.8 习题 19
第2章 面向对象程序设计方法概述 20
2.1 面向对象程序设计的概念及特点 20
2.1.1 面向对象程序设计的概念 20
2.1.2 面向对象程序设计的特点 21
2.2 面向对象的软件开发 22
2.3 类与对象的概念 22
2.4 程序中类的设计 23
2.4.1 类的定义 23
2.4.2 类成员的访问控制 24
2.4.3 类的成员变量 25
2.4.4 类的成员函数 26
2.5 类的对象 30
2.5.1 对象的定义与初始化 30
2.5.2 构造函数 30
2.5.3 析构函数 34
2.5.4 调用构造函数和析构函数的顺序 35
2.5.5 对象数组 35
2.5.6 对象成员的使用 36
2.6 类和对象的简单应用举例 38
2.7 静态成员 40
2.7.1 静态数据成员 40
2.7.2 静态成员函数 41
2.8 友元 42
2.8.1 友元函数 42
2.8.2 友元类 43
2.9 应用实例 44
2.10 习题 46
第3章 重载与类型转换 47
3.1 函数重载 47
3.2 构造函数、析构函数与函数重载 49
3.3 运算符重载方法和限制 52
3.4 运算符重载的语法 54
3.4.1 运算符重载为成员函数 55
3.4.2 运算符重载为友元函数 57
3.4.3 运算符重载的规则 59
3.5 典型运算符的重载 60
3.5.1 双目运算符重载 60
3.5.2 单目运算符重载 71
3.6 不同数据类型间的转换 77
3.6.1 标准数据类型间的转换 77
3.6.2 用转换构造函数进行类型转换 77
3.6.3 用类型转换函数进行类型转换 78
3.7 应用实例 80
3.8 习题 85
第4章 继承与派生 86
4.1 继承与派生的基本概念 87
4.2 单一继承 89
4.2.1 公有继承 90
4.2.2 私有继承 92
4.2.3 保护继承 94
4.3 访问基类的特殊成员 96
4.3.1 访问同名成员 96
4.3.2 访问静态成员 97
4.3.3 访问声明 99
4.4 派生类成员的初始化和析构 103
4.4.1 派生类中基类的构造函数和析构函数的调用规则 103
4.4.2 派生类中对象成员的构造函数和析构函数的调用规则 108
4.5 多重继承 114
4.5.1 多重继承的定义和应用 114
4.5.2 二义性 115
4.6 虚基类 117
4.7 应用实例 123
4.8 习题 128
第5章 多态性 130
5.1 多态性的概念 130
5.2 虚函数 133
5.2.1 虚函数的作用 133
5.2.2 静态关联与动态联编 134
5.2.3 虚成员函数 134
5.2.4 虚析构函数 136
5.3 纯虚函数与抽象类 137
5.3.1 纯虚函数 137
5.3.2 抽象类 139
5.4 应用实例 139
5.5 习题 142
第6章 输入输出流 146
6.1 C++输入流和输出流的概念 146
6.1.1 输入流和输出流的定义 146
6.1.2 流类库的头文件 147
6.1.3 I/O流库的类体系 148
6.2 标准输出流 148
6.2.1 cout、cerr、clog流 148
6.2.2 使用控制符控制输出格式 149
6.2.3 用流对象的成员函数控制输出格式 151
6.3 标准输入流 153
6.3.1 cin流 153
6.3.2 用于字符输入的流成员函数 154
6.3.3 istream类的其他成员函数 156
6.4 文件流 159
6.4.1 文件的概念 159
6.4.2 文件流的建立 160
6.4.3 文件流的关闭 161
6.4.4 两种特殊的文件流 161
6.5 应用实例 161
6.6 习题 162
第7章 容错及异常处理 164
7.1 异常处理简介 164
7.2 C++异常处理机制 165
7.2.1 throw、try、catch语句 165
7.2.2 异常匹配规则 166
7.2.3 捕获所有异常 168
7.3 标准程序库异常处理 168
7.4 异常规范 170
7.5 应用实例 170
7.6 习题 173
第8章 模板 176
8.1 函数模板 176
8.1.1 函数模板的声明 176
8.1.2 函数模板的使用 177
8.1.3 函数模板的重载 178
8.1.4 模板函数的重载 179
8.2 类模板 180
8.2.1 类模板的声明 180
8.2.2 类模板的使用 181
8.2.3 类模板的友元函数 184
8.2.4 类模板的派生与继承 185
8.3 应用实例 188
8.4 习题 190
附录A 上机实验指导 192
附录B 综合课程设计案例 209
参考文献 249