美文网首页
4.4C++纯虚函数和抽象类

4.4C++纯虚函数和抽象类

作者: tomchan | 来源:发表于2015-10-06 17:38 被阅读88次

    在C++中,可以将成员函数声明为纯虚函数,语法格式为:

    virtual 函数返回类型 函数名 (函数参数) = 0;

    纯虚函数没有函数体,只有函数声明,在虚函数声明结尾加上=0,表明此函数为纯虚函数。

    最后的=0并不表示函数返回值为0,它只起形式上的作用,告诉编译系统“这是纯虚函数”。

    包含纯虚成员函数的类称为抽象类(Abstract Class)。之所以说它抽象,是因为它无法实例化,也就是无法创建对象。原因很明显,纯虚函数没有函数体,不是完整的函数,无法调用,也无法为其分配内存空间。

    抽象基类除了约束派生类的功能,还可以实现多态。

    关于纯虚函数的几点说明:

    1) 一个纯虚成员函数就可以使类成为抽象基类,但是抽象基类中除了包含纯虚成员函数外,还可以包含其它的成员函数(虚函数或普通函数)和成员变量。

    2) 只有类中的虚函数才能被声明为纯虚成员函数,普通成员函数和顶层函数均不能声明为纯虚函数。

    相关文章

      网友评论

          本文标题:4.4C++纯虚函数和抽象类

          本文链接:https://www.haomeiwen.com/subject/iqogcttx.html