纯虚函数与抽象类

来源:互联网 发布:客户档案软件 编辑:程序博客网 时间:2024/05/29 13:35

一、纯虚函数
在基类中声明的虚函数在各派生类中根据实际需要给出各自定义。
syntax:
virtual returnType functionName(参数表)=0;

声明为纯虚函数后,基类中就可以不再给出函数的实现部分,函数体由派生类给出。

在基类中对纯虚函数定义的函数体的调用,必须通过“基类名::函数名(参数名)”的形式,if 将析构函数声明为纯虚函数,必须给出它的实现。

纯虚函数没有函数体。

二、抽象类
带有纯虚函数的类是抽象类。

作用:
通过它为一个类族建立一个公共的接口,更有效发挥多态性。

抽象类派生出新类之后,if派生类给出所有纯虚函数的函数实现,则派生类不再是抽象类,if没有给出全部纯虚函数的实现,则任然是一个抽象类。

注意抽象类不能实例化,但是可以定义一个抽象类的指针和引用,通过指针或引用,就可以指向并访问派生类的对象,进而访问派生类的成员。

0 0
原创粉丝点击