C++虚析构函数的作用是确保在通过基类指针删除派生类对象时能正确调用派生类的析构函数,以避免内存泄漏和其他问题。当基类指针指向一个派生类对象并且在删除指针时没有使用虚析构函数时,只会调用基类的析构函数,而不会调用派生类的析构函数,导致派生类的资源无法正确释放。通过使用虚析构函数,可以确保在删除对象时正确调用派生类的析构函数,从而释放相应的资源。