第一部分 面向对象程序设计基础知识 1
第1章 初识C++ 1
1.1面向对象概述 1
1.1.1什么是面向对象程序设计 1
1.1.2面向对象程序设计的特点 3
1.2 “This is a C++ program.”实例 4
1.2.1 C++程序的基本组成 8
1.2.2 C++程序的编写和实现 10
本章小结 11
本章习题 11
第2章 C++对C的扩充 13
2.1“书店库存清单管理”实例 13
2.1.1 C++程序的输入与输出 14
2.1.2用const定义常变量 20
2.2“学生成绩管理”实例 21
2.2.1函数的相关知识 23
2.2.2内联函数 28
2.2.3函数重载 29
2.2.4函数模板 30
2.2.5带默认参数的函数 31
2.3“棋盘游戏”实例 33
2.3.1引用的基本概念 34
2.3.2引用作为函数参数 36
2.3.3引用作为函数返回值 37
2.4“日期格式的转换”实例 38
2.4.1字符串类型相关知识 40
2.4.2使用字符串类型对象 42
本章小结 44
本章习题 44
第二部分 基于对象的程序设计 46
第3章 类和对象 46
3.1“两线相交”实例 46
3.1.1类的声明 49
3.1.2对象的使用 54
3.1.3 this指针 58
3.2“个人工资所得税的计算”实例 58
3.2.1构造函数 61
3.2.2析构函数 67
3.2.3类的组合 73
本章小结 78
本章习题 79
第4章 特殊函数和成员 81
4.1“网络登录计数器”实例 81
4.1.1不同对象间数据的共享 83
4.1.2静态数据成员 84
4.1.3静态成员函数 86
4.2“家庭防盗警报系统”实例 90
4.2.1友元的基本概念 92
4.2.2友元函数 93
4.2.3友元类 95
4.3关键字const 96
4.3.1常对象 97
4.3.2常对象成员 97
4.3.3使用const限定指针 100
4.4“单链表的类模板”实例 102
4.4.1类模板的定义 105
4.4.2类模板的实例化 106
4.4.3类模板的模板参数表 107
本章小结 108
本章习题 109
第5章 运算符重载 111
5.1“复数相加”实例 111
5.1.1运算符重载的基本概念 113
5.1.2运算符重载的方法 114
5.1.3运算符重载的规则 115
5.2“重载加、减法运算符”实例 116
5.2.1类成员函数重载运算符 118
5.2.2友元函数重载运算符 122
5.2.3转换运算符重载 125
本章小结 127
本章习题 128
第三部分 面向对象程序设计 129
第6章 继承与派生 129
6.1“半工半读学生信息管理”实例 129
6.1.1继承与派生的基本概念 133
6.1.2派生类成员的访问属性 135
6.1.3多层继承的访问属性 142
6.1.4赋值兼容 143
6.2“员工信息管理”实例 145
6.2.1简单派生类的构造函数 149
6.2.2有子对象的派生类的构造函数 150
6.2.3多层派生时的构造函数 153
6.2.4派生类的析构函数 154
6.3“动物园信息管理”实例 155
6.3.1多重继承 159
6.3.2二义性 161
6.3.3虚基类 163
本章小结 168
本章习题 168
第7章 多态性与虚函数 170
7.1多态性的基本概念 170
7.1.1多态的概念和类型 170
7.1.2多态的实现方式 171
7.2“学生学费管理”实例 171
7.2.1虚函数 174
7.2.2虚析构函数 178
7.3“小型公司人员信息管理”实例 180
7.3.1纯虚函数 184
7.3.2抽象类 186
本章小结 188
本章习题 188
第8章 C++的I/O流 190
8.1流的概念 190
8.1.1流类 191
8.1.2 I/O流对象 192
8.2标准I/O流 192
8.2.1输入成员函数 192
8.2.2输出成员函数 194
8.3“文件中建立平方根表”实例 195
8.3.1文件的基本概念 196
8.3.2文件的打开与关闭 198
8.3.3文本文件的输入/输出 200
8.3.4二进制文件的输入/输出 204
本章小结 206
本章习题 206
第9章 异常处理 208
9.1异常概述 208
9.1.1异常处理的概念 208
9.1.2异常现象的举例 209
9.2异常处理机制 209
9.2.1异常处理的任务 210
9.2.2异常处理基本思想 210
9.2.3异常处理的组成 211
9.2.4异常处理的执行过程 213
本章小结 216
本章习题 216
附录A 关键字 217
附录B 实验指导 218
参考文献 237