C++中,必然会接触到虚函数这个概念,那么,会不会对虚函数的内部机理产生疑问呢?而这里,就是对其的简单的研究(本人水平有限(。•́︿•̀。) )
首先,先来简单介绍一下虚函数的机制(知道的跳过)
把父类的函数写成虚函数,子类继承后,接着重写该函数。然后在主函数中用子类对象调用该函数时会调用子类重写的函数。
虚函数机理
首先,当给父类的一个函数写上virtual后,那么,系统就会给父类分配一个虚函数指针,指向一个虚函数表,虚函数表当中,保存的就是该函数的地址,写几个虚函数,虚函数列表里就有几个成员。
当子类继承父类时,会继承虚函数指针,同时系统会给子类分配一个虚函