C++虛析構函數的作用是確保在通過基類指針刪除派生類對象時能正確調用派生類的析構函數,以避免內存泄漏和其他問題。當基類指針指向一個派生類對象并且在刪除指針時沒有使用虛析構函數時,只會調用基類的析構函數,而不會調用派生類的析構函數,導致派生類的資源無法正確釋放。通過使用虛析構函數,可以確保在刪除對象時正確調用派生類的析構函數,從而釋放相應的資源。