通过定义纯虚函数(Pure Virtual Function),可以使得一个类成为抽象类,强制其子类必须实现该函数。 二、实现原理 在C++ 中,虚函数的实现原理基于两个关键概念:虚函数表和虚函数指针。 虚函数表:每个包含虚函数的类都会生成一个虚函数表(Virtual Table),其中存储着该类中所有虚函数的地址。虚函数表是一个由指针...
虚函数实现原理:包括虚函数表、虚函数指针等。 虚函数的作用说白了就是:当调用一个虚函数时,被执行的代码必须和调用函数的对象的动态类型相一致。编译器需要做的就是如何高效的实现提供这种特性。不同编译器实现细节也不相同。大多数编译器通过vtbl(virtual table)和vptr(virtual table pointer)来实现的。 当一个...