如果我有一个基类和一个派生类,并且我在父虚拟中析构函数delcare,但是实例化一个类型为子类的对象,当它被销毁时它会调用父析构函数的权利(因为虚拟)?如果我还在派生类中声明了析构函数,它是否会调用析构函数(基类和派生类)。提前致谢 :-)。C++虚拟析构函数
我的问题的第二部分是关于第一部分。为什么基类析构函数需要声明为虚拟的。不要考虑循环式的结构。他们不分享同一个名字,那么对它的需求在哪里?它不应该像destrucotrs一样工作,或者默认情况下只有一个被称为?也可以通过后期绑定来检测所有的类和对象是由什么组成的?
编辑:我的问题不只是关于虚拟析构函数,但为什么它需要被声明为虚拟的,因为它们都应该被默认调用。
嗯,你的第一段回答第二个。这在任何体面的C++语言书中都有介绍。并在*相关*部分的权利的问题。 – 2011-04-26 04:42:19
[虚拟析构函数如何工作?](http://stackoverflow.com/questions/2722537/how-do-virtual-destructors-work) – 2011-04-26 04:42:52
@Hans,我有一本书,它不包括在所有。 – rubixibuc 2011-04-26 04:44:51