纯虚函数是 C 面向对象编程模型的重要组成部分。它们允许类定义必须由派生类重写的方法,从而有效地强制派生类提供这些方法的实现。
声明纯虚函数时,通常的做法是用 0 对其进行初始化。这有导致许多人相信此初始化是将函数的虚拟表条目设置为 NULL 所必需的。然而,这种理解是不正确的。
纯虚函数声明末尾的 =0 并不是初始化。相反,它是一个语法指示符,表明该函数是纯虚函数。这是语言设计过程中的限制的结果,正如 Bjarne Stroustrup 在他的书《C 的设计与演化》中所解释的那样。
实现纯虚函数并不一定涉及将虚表项设置为无效的。事实上,Stroustrup 明确指出这种方式并不是实现纯虚函数的最佳方式。
那么,为什么纯虚函数使用 0 呢?答案在于语言设计而不是技术实现需求。
以上是为什么在 C 中使用 `= 0` 来声明纯虚函数?的详细内容。更多信息请关注PHP中文网其他相关文章!