为什么我们可以有一个虚拟的析构函数而不能有虚拟的构造函数?
发布于 2011-10-11 16:55:10
构造函数链可以在编译时确定,因为总是从最具体的类中使用new ClassName()。
new ClassName()
但是,如果您使用多态性,您将在可能的父类上调用析构函数,因此您无法在编译时知道从何处开始链。您需要一个虚函数来始终调用正确的虚函数(否则,在最特定的类中可能会出现未清理的资源)。
https://stackoverflow.com/questions/7729621
相似问题
领取专属 10元无门槛券
AI混元助手 在线答疑
洞察 腾讯核心技术
剖析业界实践案例