抽象基类和纯虚函数

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

抽象基类和纯虚函数

抽象类和具体类

包含纯虚函数的类不能实例化对象,是抽象类

如果抽象类的派生类实现了所有积累中的纯虚函数,则不再是抽象类

抽象类存在的意义是作为其他类的基类,也较抽象基类

构造函数的执行顺序:从上至下

析构函数的执行顺序:从下至上

创建对象时要执行正确的构造函数

撤销对象时要执行正确的析构函数

问题:动态对象的创建和撤销

虚析构函数

动态对象的创建

动态创建的对象没有问题

New classname(···);

动态对象的撤销

Delete 基类指针;

如果基类指针指向的是派生类的对象呢?

析构函数可以声明为虚函数

Delete 基类指针;

程序会根据积累指针指向的对象的类型确定要调用的析构函数

如果基类的析构函数为虚函数,则所派生的类的析构函数都是虚函数

如果要操作具有继承关系的类的动态对象,最好使用虚析构函数

文件和流——支持大量数据的处理:输入,存储

对文件执行的操作只要求我们掌握对几个函数的操作就行

如果说你不懂对文件的操作和处理,你永远也无法选好编程,你的程序永远也写不好,操作系统能够把外设和文件统一管理。

文件可以保存程序的运行结果

文件使程序处理大量的数据成为可能

大型系统的运行需要文件支持

C++将文件看成有序的字节流

文件被打开后,操作系统为该文件的建立的一个缓冲区,或称为一个字节序列,即流

普通文件

二进制文件

文本文件

输入输出设备:键盘,显示器,打印机等

标准输入流(用指针stdin操作)

标准输出流(用指针stdout操作)

C++采用相同的方式操作普通文件和I/O设备

文件的操作

格式化输入输出(文本)

块输入输出(二进制)

文件操作过程

1.建立并打开文件

2.操作文件:读,写

3.关闭文件

打开文件或建立一个新文件

FILE *fopen(const char *filename,const char *mode);

filename——路劲及文件名

mode——打开方式

关闭文件

Int fclose(FILE *stream);

Stream——要关闭的文件

读写文件——格式化操作(文本文件)

Int fscanf(File *stream,·······);

Int fprintf(File *stream,·······);

读写文件——快读写方式(二进制文件)

size_t fwrite(const void*buffer,size_t size,size_t count,File *stream);

size_t fread(const void*buffer,size_t size,size_t count,File *stream);

相关文档
最新文档