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;
}
上面纯虚函数的定义不能出现在类的声明中。