前一段时间被问到过一个问题,当时模模糊糊,就是说不清楚,问题问到说:什么情况下会将基类的析构函数定义成虚函数? 当时想到 如果子类B继承了父类A,那么定义出一个子类对象b,析构时,调用完子类析构函数,不是自动调用父类的析构函数吗!干嘛还要把定义为虚函数.将基类析构函用到了数定义成虚函数,难道是也是为了实现多态?.. 额,现在想想,其实自己都想到多态了,可惜还是没加点劲想到点上.这个问题用到了多态的原理.因为鉴于父子类的析构函数底层其实是同名(编译器做了特殊处理,都叫destructor),那么…