C++纯虚函数

  c++通过纯虚函数(pure virtual function)提供未实现的函数。纯虚函数申明结尾处=0。注意纯虚函数本身就符号虚函数,所以前面也要有virtual。

  有纯虚函数的类叫做ABC(abstract base class),迫使派生类遵循ABC设计的接口,确保派生类都至少支持ABC的功能。

纯虚函数可以有自己的定义

#include <iostream>
using namespace std;
class base
{
public:
    virtual void f()const=0;
};
void base::f()const
{
    cout << "base" << endl;
}
class derive:public base
{
public:
    virtual void f()const;
};
void derive::f()const
{
    base::f();
    cout << "derive" << endl;
}
int main()
{
    derive d;
    d.f();
    return 0;
}

  上面纯虚函数的定义不能出现在类的声明中。

原文地址:https://www.cnblogs.com/h-hg/p/8688956.html