一.复习内容
1. 类和对象 20%
类的成员变量、成员函数和对象的定义及使用;对象成员的引用,对象的赋值和复制(重点);指向对象成员的指针;常对象成员(理解);对象的动态建立和释放(重点);内置成员函数的定义和使用方法(理解);友元函数和友元类;构造函数和析构函数的调用及其次序(重点); 复制构造函数的调用(重点);静态类成员变量和成员函数的定义和使用方法(重点);类模板的声明与使用(理解, P309 模板类的声明和使用归纳)。
参考例题:
讲义: P255 例8.2 P258 例8.3 P269 例9.4 P272 例9.5 P276 例9.6
P279 例9.7 P289 例9.8 P292 例9.9
P294 倒数第七行,普通构造函数和复制构造函数区别(1)、(2)、(3)
P297 例9.10 P299 例9.11 P302 例9.12 P303 例9.13
(结合实验10、实验11复习,理解)
2.运算符重载 10%
运算符重载的概念和方法;成员函数重载和友元函数重载(区别);单目、双目运算符重载;重载流>>和<<运算符;转换构造函数;类型转换函数。
参考例题:
讲义: P316 例10.2 P321 例10.3 P329 例10.6 P331 例10.7
P333 例10.8 P339 例10.9
(结合实验12复习,理解)
3. 继承与派生类 20%
派生类的声明和构成,派生类成员的访问属性(P252 表11.1、表11.2,例11.1、例11.2理解);基类成员在派生类中的访问属性(P358表11.3、表11.4,例11.3理解);多级派生时的访问属性,派生类的构造函数和析构函数(重点);有子对象的派生类的构造函数(重点);多层派生时的构造函数(重点);多继承的定义及多重继承派生类的构造函数;虚基类的作用及初始化(重点);向基类构造函数传递参数的方法;基类与派生类的转换(重点)。
讲义: P361 例11.4 P363 例11.5 P367 例11.6 P369 例11.7 P382 例11.9
P386 例11.10
(结合实验13复习,理解)
4. 多态和虚函数 10%
静态多态性与动态多态性概念;重载与同名覆盖的差异;虚函数和纯虚函数的概念;虚函数的用法(重点);虚析构函数(重点);抽象类的概念与应用(重点)。
讲义: P402 例12.2 P407 例12.3 P410 例12.4
(结合实验14复习,理解)
5. C++输入输出流 15%
一般I/O流和文件流的关系;常用I/O 类库的流类:istream、ostream、iostream、ifstream、ofstream、fstream;文件与文件流的关系;文件系统的概念,包括文件指针和关于文件的操作;文件类的定义和相关操作的定义、使用方法;对ASCII文件的操作及对二进制文件的操作(重点);文件随机访问(重点)。
掌握:
1. get()、put()、getline()、seekp()、seekg()、tellp()、tellg()、EOF( )函数的含义与使用;
2. 文件操作与文件流,文件的打开与关闭;文件的输入输出方式设置:
ios::in、ios::out、ios::app、ios::ate、ios::binary
3. 文本文件与二进制文件的操作:
open()、close()、read()、write()、<<、>>
4. 与文件指针有关的流成员函数的使用
P451 表13.7
讲义: P429 例13.4~ 例13.16
(结合实验15复习,理解)
6.异常处理 5%
异常处理的任务和方法;在函数声明中进行异常处理;在异常处理中处理析构函数。
讲义: P465 例14.2 P468 例14.3
(结合实验16复习,理解)
7. 数据结构 20%
链表结点的结构,链域的作用,链表的添加与删除操作(单链表);链表与数组在结构和性能上的比较;堆栈的特点与操作(顺序栈);队列的特点与操作(顺序队列,理解);折半查找方法(重点)、选择排序方法(重点)、冒泡排序方法(重点)、快速排序方法、插入排序方法(重点)、合并方法。
补充讲义: P37 例2.1 P40 例2.2 P46 例2.5 P47 例2.6 P49 例2.7
P53 例2.8 P54 例2.9 P57 例2.10 P58 例2.11 P60 例2.12
P62 例2.13 P64 例2.14 P65 例2.15
(结合实验17、实验18、实验19复习,理解)
二.考试题型:选择填空题、读程序写结果、改错题、程序填空题、程序设计题
三.考试形式: 闭卷