1、polymorphic(带多态性质的) base classes应该声明一个virtual 析构函数。如果class带有任何virtual函数,它就应该拥有一个virtual析构函数。
2、Classes的设计目的如果不是作为base classes使用,或不是为了具备多态性质(polymorphically),就不该声明virtual析构函数。
3、只有虚函数才会加入虚函数表中
4、对于多态类 A,其子类 B , A* pa = new B;对于 pa->fun(); fun必须在父类存在(虚函数/非虚函数)
如果 fun 为虚函数,这调用子类的 fun,否则调用父类的