第1章 概述 1
1.1 C++语言背景和应用领域 1
1.2 C++语言程序 1
1.2.1 一个简单的C++程序 1
1.2.2 C++程序的构成 3
1.3 程序设计方法 5
1.3.1 面向过程的程序设计方法 5
1.3.2 面向对象的程序设计方法 5
1.3.3 两种程序设计方法的比较 6
1.4 面向对象程序设计的基本概念 8
1.4.1 抽象 8
1.4.2 封装 9
1.4.3 继承 9
1.4.4 多态 9
1.5 C++程序的开发过程 10
1.5.1 程序运行的步骤 10
1.5.2 开发环境 11
本章小结 14
习题 14
第2章 从C到C++语言基础 17
2.1 名字空间 17
2.2 数据类型 19
2.3 new和delete运算符 21
2.4 引用 22
2.5 函数 24
2.5.1 函数的定义与调用 24
2.5.2 函数原型与带默认参数的函数 24
2.5.3 函数的参数传递 25
2.5.4 内联函数 30
2.5.5 重载函数 30
2.6 异常处理 31
本章小结 33
习题 34
第3章 类和对象 37
3.1 类的构成 37
3.1.1 类的定义和构成 37
3.1.2 成员的访问属性 38
3.1.3 成员函数 38
3.2 对象 38
3.2.1 对象的定义 38
3.2.2 对象中成员的访问 39
3.3 构造函数与析构函数 43
3.3.1 构造函数的特点 43
3.3.2 成员初始化表 45
3.3.3 具有默认参数的构造函数 47
3.3.4 析构函数 48
3.3.5 拷贝构造函数 50
3.3.6 浅拷贝和深拷贝 53
3.4 自引用指针this 57
3.5 向函数传递对象 58
3.6 静态成员 62
3.6.1 静态成员的定义 62
3.6.2 静态成员函数 63
3.7 友元 65
3.7.1 友元函数 65
3.7.2 友元成员 65
3.7.3 友元类 65
3.8 对象成员 68
3.9 const 71
3.9.1 常数据成员 71
3.9.2 常成员函数 71
3.9.3 常对象 71
本章小结 73
习题 74
第4章 继承机制 80
4.1 继承与派生的概念 80
4.2 派生类的声明 81
4.3 派生类的访问控制 83
4.3.1 公有继承 83
4.3.2 私有继承 83
4.3.3 保护继承 83
4.4 派生类的构造函数和析构函数 84
4.4.1 派生类构造函数和析构函数的执行顺序 84
4.4.2 派生类构造函数的构造规则 86
4.5 多继承 89
4.5.1 多继承的声明 89
4.5.2 多继承的构造函数与析构函数 89
4.6 虚基类和赋值兼容性 92
4.6.1 基类成员名的限定访问和名字覆盖 92
4.6.2 虚基类的概念 92
4.6.3 虚基类的初始化 93
4.6.4 赋值兼容性 97
本章小结 99
习题 99
第5章 虚函数与多态性 101
5.1 多态性概述 101
5.2 虚函数 102
5.2.1 一般虚函数成员 102
5.2.2 虚析构函数 104
5.3 纯虚函数和抽象类 106
5.3.1 纯虚函数 106
5.3.2 抽象类 108
本章小结 109
习题 109
第6章 运算符重载 113
6.1 运算符重载的概念 113
6.2 运算符重载的规则 114
6.3 运算符重载为友元函数 114
6.4 运算符重载为成员函数 117
6.5 几种常用运算符的重载 119
6.5.1 输入/输出运算符的重载 119
6.5.2 自增运算符和自减运算符的重载 121
6.5.3 赋值运算符的重载 124
本章小结 127
习题 128
第7章 模板 131
7.1 模板的概念 131
7.2 函数模板 131
7.3 类模板 135
本章小结 138
习题 138
第8章 C++语言的输入和输出 140
8.1 C++的输入/输出流 140
8.1.1 I/O流类库简介 141
8.1.2 预定义的流对象 142
8.2 预定义类型的格式化输入/输出 143
8.2.1 用ios类的成员函数进行格式控制 143
8.2.2 使用预定义的操作符进行I/O格式控制 146
8.3 文件流 149
8.3.1 文件的打开和关闭 149
8.3.2 文件的读写 151
本章小结 155
习题 156
第9章 标准模板库 157
9.1 STL概述 157
9.2 容器 158
9.2.1 顺序容器 158
9.2.2 关联容器 162
9.3 迭代器 164
9.4 算法 165
本章小结 167
习题 168
第10章 综合案例——理财产品管理系统 170
10.1 系统分析 170
10.2 系统设计 172
10.2.1 类的概要设计 172
10.2.2 类的详细设计 174
10.3 案例实现代码 177
10.3.1 Date类 177
10.3.2 BeginDate类 180
10.3.3 EndDate类 181
10.3.4 FinancialProduct类 182
10.3.5 RecFinancialProduct类 183
10.3.6 COperator类 187
10.3.7 主函数 194
10.4 程序的运行界面 195
本章小结 198
第11章 综合案例——Bird Target游戏 199
11.1 案例需求 199
11.2 需要的开发工具 201
11.3 建立GDK的项目 203
11.4 sprite函数简介 206
11.5 BirdTarget的分析和设计 208
11.6 BirdTarget的实现代码 211
本章小结 220
参考文献 221