纯虚函数

Posted h_hg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了纯虚函数相关的知识,希望对你有一定的参考价值。

??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;
}

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

以上是关于纯虚函数的主要内容,如果未能解决你的问题,请参考以下文章

C++纯虚函数和抽象类

C++ 纯虚函数和抽象类

C++ 纯虚函数和抽象类

带有实现的纯虚函数

多态实现--虚函数与纯虚函数

局部抽象类的纯虚析构函数