第1章 C++的输入输出 1
1.1 C++的输入输出示例 1
1.2 面向过程的程序设计 5
1.3 课堂练习 8
1.4 课后习题 9
第2章 从结构体到类 12
2.1 结构体回顾 12
2.2 类的引入 21
2.2.1 类的定义 21
2.2.2 类的成员函数 22
2.2.3 类成员的访问控制 22
2.2.4 类的测试 23
2.3 面向对象的程序设计 24
2.4 课堂练习 25
2.5 课后习题 26
第3章 构造函数与对象初始化 31
3.1 由成员函数完成的对象初始化 31
3.2 由构造函数完成的对象初始化 32
3.2.1 默认构造函数 33
3.2.2 带参数的构造函数 33
3.2.3 无参数的构造函数 35
3.2.4 构造函数带默认值 36
3.3 课堂练习 39
3.4 课后习题 40
第4章 复制构造函数与析构函数 45
4.1 构造函数回顾 45
4.2 复制构造函数 49
4.3 析构函数 51
4.4 课堂练习 55
4.5 课后习题 56
第5章 类和对象应用 62
5.1 基于项目的多文件管理 62
5.2 文件与流操作 67
5.3 课堂练习 72
5.4 课后习题 73
第6章 静态与友元 78
6.1 封装性 78
6.2 静态成员 80
6.2.1 静态数据成员 81
6.2.2 静态成员函数 82
6.3 友元 83
6.3.1 友元函数 84
6.3.2 友元成员函数 85
6.3.3 友元类 86
6.4 共享成员的保护 87
6.5 课堂练习 90
6.6 课后习题 92
第7章 多态性与重载 101
7.1 函数重载 101
7.2 运算符重载 106
7.2.1 双目运算符重载 107
7.2.2 单目运算符重载 109
7.3 课堂练习 112
7.4 课后习题 113
第8章 组合与继承 120
8.1 类的重用 120
8.2 组合 120
8.2.1 组合定义 120
8.2.2 组合的构造函数 121
8.3 继承 123
8.3.1 继承与派生 123
8.3.2 派生类定义 125
8.3.3 派生类的构造函数 132
8.3.4 派生类的析构函数 133
8.3.5 继承中的同名覆盖规则 134
8.4 课堂练习 136
8.5 课后习题 138
第9章 继承的应用 150
9.1 单继承用法回顾 150
9.2 基于项目的多文件管理 151
9.3 赋值兼容规则 155
9.4 组合与继承的比较 157
9.5 基类的成员函数在派生类中重载 159
9.6 课堂练习 161
9.7 课后习题 162
第10章 多继承 173
10.1 多继承的定义 173
10.2 多继承的构造函数 173
10.3 多继承中同名问题 175
10.4 虚基类 177
10.5 课堂练习 181
10.6 课后习题 182
第11章 多态性与虚函数 189
11.1 多态性 189
11.2 虚函数 193
11.3 抽象类与纯虚函数 194
11.4 课堂练习 197
11.5 课后习题 198
第12章 异常处理 205
12.1 程序调试方法 205
12.2 异常处理方法 205
12.3 异常处理机制 207
12.4 课堂练习 211
12.5 课后习题 212
附录A 模拟试卷 215
模拟试卷1 215
模拟试卷2 221
模拟试卷3 226
模拟试卷4 232
附录B 初学者常见问题 237
B.1 编程问题 237
B.2 概念问题 276