纯虚函数的几点说明

    技术2022-05-20  41

    C++纯虚函数可以有定义,并且能够调用

    class A

    {

     public:

        virtual ~A()=0;

    };

    对于这样一个纯虚类,它是不可以被继承的,因为编译器总是会为派生类安插一个基类的析构函数的调用。

    解决方法有二个:

    1)将析构函数改成非纯虚

    2)为纯虚析构函数加上定义

    A::~A(){}

     

    纯虚函数如果有定义体,则它可以在其派生类中被调用

    class B:public A

    {

    public:

        void test(){A::~A();}

    };


    最新回复(0)