C 虛函式析構函式的應用

2021-08-31 03:53:45 字數 634 閱讀 6493

總時間限制: 

1000ms

記憶體限制: 

65536kb

// 在此處補充你的**
描述

程式填空輸出指定結果

#include using namespace std;

class a

}; 

class b:public a

}; int main()

輸入無輸出

destructor b

destructor a

樣例輸入

樣例輸出

destructor b

destructor a

**

如果什麼都不加,什麼都不會輸出,如果加上a的析構函式,只會輸出a的析構函式,為了輸出繼承類b的析構函式,需要在a的析構函式加virtual

#include using namespace std;

class a

// 在此處補充你的**

virtual ~a() };

class b :public a

};int main()

C 析構函式 虛析構函式

1.為什麼要定義虛析構函式?如果有乙個帶有虛函式功能的類,則它需要乙個虛析構函式,原因如下 1 如果乙個類有虛函式功能,它經常作為乙個基類使用 2 如果它是乙個基類,它的派生類經常使用new來分配 3 如果乙個派生類物件使用new來分配,並且通過乙個指向它的基類的指標來控制,那麼它經常通過乙個指向它...

C 虛析構函式 純虛析構函式

虛析構函式 析構函式的工作方式是 最底層的派生類 most derived class 的析構函式最先被呼叫,然後呼叫每乙個基類的析構函式。因為在c 中,當乙個派生類物件通過使用乙個基類指標刪除,而這個基類有乙個非虛的析構函式,則結果是未定義的。執行時比較有代表性的後果是物件的派生部分不會被銷毀。然...

C 虛析構函式 純虛析構函式

虛析構函式 析構函式的工作方式是 最底層的派生類 most derived class 的析構函式最先被呼叫,然後呼叫每乙個基類的析構函式。因為在c 中,當乙個派生類物件通過使用乙個基類指標刪除,而這個基類有乙個非虛的析構函式,則結果是未定義的。執行時比較有代表性的後果是物件的派生部分不會被銷毀。然...