析构函数和构造函数
请大神解释下为什么通常析构函数有virtual,而构造函数为什么不能是virtual,最好结合例子说明下作用,O(∩_∩)O谢谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
请大神解释下为什么通常析构函数有virtual,而构造函数为什么不能是virtual,最好结合例子说明下作用,O(∩_∩)O谢谢
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
不想写了,给你找两个贴子吧
首先假设你知道虚函数的作用。。
在每次调用构造函数的时候,你和编译器都会明确的知道当前将要构造的数据类型,然后在构造函数里又会一次调用基类构造函数
在调用析构函数的时候,如果当前指针是一个基类指针,那么你和编译器将不能分辨出指针指向的空间是基类对象还是某个派生类,这时候就需要运行时去虚函数表里面查看到底需要调用哪个析构函数