第1章 C++程序设计基础 1
为什么要学习C++程序设计 1
过程化程序设计和面向对象程序设计 2
简单的输出和输入方法 2
cout对象 2
cin对象 4
标识符 7
布尔类型 8
培养良好的编程风格 9
风格对比 9
注释方法 10
格式化输出 12
采用操作符实现格式化输出 13
采用函数成员实现格式化输出 19
对函数成员的初步讨论 21
格式化输入 21
指定输入域宽 21
读取一行 22
读取一个字符 23
读取字符时易于出错的地方 24
函数的缺省参数 25
引用作函数参数 27
函数重载 29
内存的动态分配和释放 33
string类型 36
如何使用string类型 36
为string对象读取一行 38
string对象的比较 38
string对象的初始化 39
string的函数成员 41
string对象应用举例 42
STL矢量 44
定义矢量的方法 45
访问矢量中的元素 46
使用函数成员push_back 48
获取矢量的大小 49
删除矢量中元素 51
清空矢量 53
检查矢量是否为空 53
矢量的其他函数成员 55
思考与练习 57
课程设计之一 59
第2章 文件操作 65
文件的基本概念 65
文件命名的原则 65
使用文件的基本过程 65
文件流类型 66
打开文件和关闭文件 66
打开文件 66
文件的打开模式 68
定义流对象时打开文件 69
测试文件打开是否成功 69
关闭文件 70
采用流操作符读写文件 71
采用流插入操作符写文件 71
格式化输出在写文件中的应用 73
采用流提取操作符从文件读数据 75
检测文件结束 76
流对象做参数 78
出错检测 80
采用函数成员读写文件 82
采用流提取操作符读文件的缺陷 82
采用函数getline读文件 83
采用函数get读文件 85
采用函数put写文件 86
多文件操作 87
二进制文件 89
二进制文件的操作 89
读写结构体记录 91
随机访问文件 94
顺序访问文件的缺陷 94
定位函数seekp和seekg 95
返回位置函数tellp和tellg 99
输入输出文件 100
思考与练习 105
课程设计之二 107
第3章 类的基础部分 108
过程化程序设计与面向对象程序设计的区别 108
过程化程序设计的缺陷 108
面向对象程序设计的基本思想 109
类的基本概念 110
定义函数成员 113
定义对象 114
访问对象的成员 115
指向对象的指针 115
引入私有成员的原因 117
类的多文件组织 118
私有函数成员的作用 121
内联函数 122
构造函数和析构函数 124
构造函数 124
析构函数 127
带参构造函数 128
构造函数应用举例——输入有效的对象 131
重载构造函数 133
缺省构造函数的表现形式 135
对象数组 136
类的应用举例 139
抽象数组类型 145
创建抽象数组类型 145
扩充抽象数组类型 148
思考与练习 154
课程设计之三 155
第4章 类的高级部分 156
静态成员 156
静态数据成员 157
静态函数成员 160
友元函数 162
对象赋值问题 167
拷贝构造函数 169
缺省的拷贝构造函数 172
调用拷贝构造函数的情况 172
拷贝构造函数中的常参数 174
运算符重载 174
重载赋值运算符 175
this指针 177
重载运算符时要注意的问题 180
重载双目算术运算符 181
重载单目算术运算符 183
重载关系运算符 185
重载流操作符《和》 185
重载类型转换运算符 187
重载[]操作符 194
操作符重载综合举例——自定义string类 200
对象组合 211
思考与练习 213
课程设计之四 214
第5章 继承、多态和虚函数 215
继承 215
保护成员和类的访问 221
构造函数和析构函数 225
缺省构造函数和析构函数的调用 225
向基类的构造函数传参数 226
覆盖基类的函数成员 229
虚函数 233
纯虚函数和抽象类 237
纯虚函数 237
抽象类 237
指向基类的指针 241
多重继承 242
多继承 244
思考与练习 248
课程设计之五 250
第6章 异常处理 252
异常 252
抛出异常 252
处理异常 253
基于对象的异常处理 255
捕捉多种类型的异常 257
通过异常对象获取异常信息 259
再次抛出异常 261
思考与练习 262
课程设计之六 262
第7章 模板 264
函数模板 264
从函数重载到函数模板 264
在函数模板中使用操作符需要注意的地方 268
在函数模板中使用多种类型 268
重载函数模板 268
定义函数模板的方法 270
类模板 270
定义类模板的方法 270
定义类模板的对象 273
类模板与继承 275
思考与练习 278
参考文献 279