为什么虚函数不能是静态的和全局的?

why virtual functions can't be static and global?

本文关键字:全局 静态 函数 不能 为什么      更新时间:2023-10-16

当我们使虚拟函数静态时会发生什么?我试图在父类中使一个虚拟函数成为静态函数,但它给编译器带来了错误。

虚拟函数的操作是使用当前对象通过其vtable查找要调用的正确方法,这就是为什么它们可以被重写的原因。静态和全局方法不引用对象,因此没有地方存储指向函数的指针。

你可以通过搜索vtable的信息来了解更多信息。