一、关键点
虚析构函数的必要性(为何需要?哪里需要?)
虚构函数的特性
二、虚析构函数的必要性
基类通常应该定义一个虚析构函数(当然不是必须要虚析构函数),这是继承关系对基类拷贝控制最直接的影响
为何需要:这样我们就能动态分配继承体系中的对象,如delete一个指向派生类对象的基类指针时,虚析构函数会确保编译器执行派生类的析构函数。
三、特性
1. 定义了虚析构函数,不是必须要定义拷贝和赋值操作
因为我们将析构函数定义为虚函数,此时该虚析构函数的内容常常为空(=default),于是我们显然无需定义拷贝和赋值操作
2. 虚析构函数将阻止合成移动操作