http://blog.sina.com.cn/s/blog_620882f401016ri2.html
简单来讲,虚函数必须是一个实例化对象指向的,构造函数未调用之前,何来的对象,因此这是矛盾的
虚函数对应一个vtable(虚函数表),这大家都知道,可是这个vtable其实是存储在对象的内存空间的。问题出来了,如果构造函数是虚的,就需要通过
vtable来调用,可是对象还没有实例化,也就是内存空间还没有,无法找到vtable,所以构造函数不能是虚函数
http://blog.sina.com.cn/s/blog_620882f401016ri2.html
简单来讲,虚函数必须是一个实例化对象指向的,构造函数未调用之前,何来的对象,因此这是矛盾的
虚函数对应一个vtable(虚函数表),这大家都知道,可是这个vtable其实是存储在对象的内存空间的。问题出来了,如果构造函数是虚的,就需要通过
vtable来调用,可是对象还没有实例化,也就是内存空间还没有,无法找到vtable,所以构造函数不能是虚函数
5887
1776

被折叠的 条评论
为什么被折叠?