#includeusing namespace std; class A { public: virtual void hehe() =0 { cout<<"A"<
如上 我們可以在A中定義一個純虛函數,並定義它,但A仍舊是抽象類,仍舊需要在派生類中實現。通常我們沒有必要定義此純虛函數 ,然而在純析構函數中我們必須去定義,因為當它的派生類對象發生析構時,仍舊需要調用這個抽象類的析構函數
此時我們必須去定義這個純虛析構函數。 不為純虛函數提供定義將會導致整個程序無條件地終止
定義了此純虛析構函數之後,在其後的派生類將不必去實現它。如下
#includeusing namespace std; class A { public: virtual ~A() = 0 { cout<<"A"<