C++ C++;超级级';析构函数赢了';t调用重写的方法 #包括 使用名称空间std; 超级班{ 公众: 虚拟~Super(){ func(); } 虚空函数(){ cout

C++ C++;超级级';析构函数赢了';t调用重写的方法 #包括 使用名称空间std; 超级班{ 公众: 虚拟~Super(){ func(); } 虚空函数(){ cout,c++,inheritance,destructor,C++,Inheritance,Destructor,当基类析构函数开始运行时,派生类已经被完全析构函数。它(它们)不再存在。它们不能被调用。它们是前对象!(粗略地解释为Herb,解释为John。) 一层一层地,当对象消亡时,被销毁的部分不会被留下;它们不再存在。类型会相应地向上调整,虚拟调用解析为被销毁的类型,直到该对象只剩下一堆位。基类析构函数开始运行时,derived类已经被完全破坏。它不再存在。它们不能被调用。它们是前对象!(粗略地解释赫伯,解释约翰。) 一层一层地,当对象消亡时,它被销毁的部分不会被留下;它们不再存在。类型会相应地向上调整

当基类析构函数开始运行时,派生类已经被完全析构函数。它(它们)不再存在。它们不能被调用。它们是前对象!(粗略地解释为Herb,解释为John。)


一层一层地,当对象消亡时,被销毁的部分不会被留下;它们不再存在。类型会相应地向上调整,虚拟调用解析为被销毁的类型,直到该对象只剩下一堆位。

基类析构函数开始运行时,derived类已经被完全破坏。它不再存在。它们不能被调用。它们是前对象!(粗略地解释赫伯,解释约翰。)


一层一层地,当对象消亡时,它被销毁的部分不会被留下;它们不再存在。类型会相应地向上调整,虚拟调用解析为被销毁的类型,直到该对象只剩下一堆位。

超级
的析构函数中,
已删除已调用其析构函数。如果不是重复,则相关:“类Child的默认析构函数正在调用其超类super的func()不,您引用的输出没有显示这一点。Child的析构函数调用
Child::func
,然后超级父类的析构函数被调用,它调用
Super::func
@drescherjm nope;我删除了Supser Super;得到的结果与他得到的结果相同。对不起,我正在谈论带有该注释的第二个代码段。I just删除了注释,因为它增加了更多的混乱而不是帮助。在
Super
的析构函数中,
Child
已经调用了它的析构函数。如果没有重复,则相关:“类Child的默认析构函数正在调用它的超类Super的func()不,您引用的输出没有显示这一点。Child的析构函数调用
Child::func
,然后超级父类的析构函数被调用,它调用
Super::func
@drescherjm nope;我删除了Supser Super;得到的结果与他得到的结果相同。对不起,我正在谈论带有该注释的第二个代码段。I just删除了该评论,因为它增加的混乱多于帮助。
super-class
super-class
child-class
super-class
super-class