首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >构造函数和析构函数的纯虚调用

构造函数和析构函数的纯虚调用
EN

Stack Overflow用户
提问于 2011-12-28 12:36:40
回答 2查看 5.4K关注 0票数 19

C++标准规定禁止从构造函数或析构函数调用纯虚函数。这是什么原因呢?为什么标准要有这样的限制呢?

EN

回答 2

Stack Overflow用户

发布于 2011-12-28 12:39:33

这和你不能住在房子里的原因是一样的,当你在浇筑地基或拆毁它的时候。在构造函数完成之前,对象只被部分构造。一旦析构函数启动,对象就会被部分销毁。纯虚函数只能在处于正常状态的对象上调用,否则确定调用哪个函数实现所需的结构可能不存在。

票数 5
EN

Stack Overflow用户

发布于 2011-12-28 12:39:38

该函数只是一个要在子类中实现的原型,它实际上并不存在于类中...所以它既不能在构造函数中调用,也不能在析构函数中调用。

该函数没有实现,因此,简单地说,没有代码可供调用:)

调用构造函数/析构函数时,实现纯虚函数的子类不存在。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8651895

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档