1. 程式人生 > >純虛函數

純虛函數

oid ive ret ios 自己的 pan pos space span

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

??上面純虛函數的定義不能出現在類的聲明中。

純虛函數