 含有(或者未經覆蓋直接繼承)純虛函數的類叫抽象基類(abstract base class)。抽象基類負責定義接口,而后續的其他類可以覆蓋該接口。如果派生類中沒有重新定義純虛函數,而只是繼承基類的純虛函數,則這個派生類仍然還是一個抽象基類。因為抽象基類含有純虛函數(沒有定義),所以我們不能創建一個抽象基類的對象,但可以聲明指向抽象基類的指針或引用。
含有(或者未經覆蓋直接繼承)純虛函數的類叫抽象基類(abstract base class)。抽象基類負責定義接口,而后續的其他類可以覆蓋該接口。如果派生類中沒有重新定義純虛函數,而只是繼承基類的純虛函數,則這個派生類仍然還是一個抽象基類。因為抽象基類含有純虛函數(沒有定義),所以我們不能創建一個抽象基類的對象,但可以聲明指向抽象基類的指針或引用。
/************************************************************************* > File Name: abst.cpp > Author: XXDK > Email: v.manstein@QQ.com > Created Time: Sun 26 Feb 2017 10:43:27 PM PST ************************************************************************/#include<iostream>using namespace std;class base {public: virtual void xxdk(void) = 0;};class derived : public base {public: void xxdk(void) override { cout << "xxdk" << endl; }};int main(){ derived dct; base* bp; base& br = dct; bp = &dct; bp->xxdk(); br.xxdk();}
新聞熱點
疑難解答