当前位置:首页 > 编程笔记 > 正文
已解决

构造函数不能做为虚函数

来自网友在路上 150850提问 提问时间:2023-09-20 15:18:56阅读次数: 50

最佳答案 问答题库508位专家为你答疑解惑

引用:windows程序员面试指南

构造函数不能做为虚函数

从存储空间角度
虚函数对应一个虚函数表,这大家都知道,可是这个虚函数表其实是存储在对象的内存空间的。问题出来了,如果构造函数是虚的,就需要通过虚函数表来调用,可是对象还没有实例化,也就是内存空间还没有,无法找到vtable,所以构造函数不能是虚函数。

从使用角度
虚函数的作用在于通过父类的指针或者引用来调用它的时候能够变成调用子类的那个成员函数。而构造函数是在创建对象时自动调用的,不可能通过父类的指针或者引用去调用,因此也就规定构造函数不能是虚函数。

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"构造函数不能做为虚函数":http://eshow365.cn/6-10050-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!