代码改变世界

构造函数为什么不是虚函数

2019-10-21 00:26  格物致知,知行合一  阅读(529)  评论(0)    收藏  举报

摘自

https://blog.csdn.net/shilikun841122/article/details/79012779

 

1.虚函数的作用在于通过子类的指针或引用来调用父类的那个成员函数。而构造函数是在创建对象时自己主动调用的,不可能通过子类的指针或者引用去调用。

2.虚函数相应一个指向vtable虚函数表的指针,但这个指向vtable的指针事实上是存储在对象的内存空间的,假设构造函数是虚的,就须通过vtable来调用,但对象还没有实例化,也就是内存空间还没有,无法找到vtable