此类中所包含的知识点:
class WorkItemBase
{
virtual void DoWork(void* pThreadContext) = 0;
virtual void Abort () = 0;
friend CWorkQueue;
};
//========================
1〉纯虚函数
1.定义:定义一个函数为纯虚函数,代表函数没有被实现 。
定义他是为了实现一个接口,起到一个规范的作用,规范继承这个
类的程序员必须实现这个函数。
2.纯虚函数是一个只有虚函数声明,没有函数体的虚函数。并在虚函数声明的分号前加上=0;
3〉虚基类
1.有纯虚函数的类是抽象类,不能生成对象,只能派生。他派生的类的纯虚函数没有被改写,那么,它的派生类还是个抽象类。
定义纯虚函数就是为了让基类不可实例化化, 因为实例化这样的抽象数据结构本身并没有意义. 或者给出实现也没有意义
首先:强调一个概念
定义一个函数为虚函数,不代表函数为不被实现的函数
定义他为虚函数是为了允许用基类的指针来调用子类的这个函数
定义一个函数为纯虚函数,才代表函数没有被实现
定义他是为了实现一个接口,起到一个规范的作用,规范继承这个
类的程序员必须实现这个函数。