私有纯虚函数:目的和实现
当遇到私有纯虚函数时,通常会想知道派生类如何访问和重新实现
虚拟可访问性和重新实现
与您可能假设的相反,派生类可以访问私有虚拟函数。派生类的方法不能从基类调用虚函数,但它们可以重写并提供自己的实现。
使用私有纯虚函数的原因
这个习惯用法将接口规范与可定制实现行为的规范分开。它提供了一个清晰灵活的接口,可以通过派生类进行扩展。
“PONV POV”惯用法
您提供的代码片段遵循“公共重载非虚拟调用“受保护的非重载虚拟”(PONV POV) 习惯用法。在这里,公共重载非虚函数调用非公共非重载虚函数。
隐藏规则管理
这个习惯用法有助于管理 C 中的隐藏规则。如果虚拟函数被重载并且是公共的,则在尝试重写派生类中的特定实现时可能会出现问题。 using 声明对于防止隐藏基类成员是必要的。
通过将 PONV POV 习惯用法与私有虚函数结合使用,派生类可以简单地重写所需的实现,而不必担心隐藏问题。
以上是为什么在 C 中使用私有纯虚函数?的详细内容。更多信息请关注PHP中文网其他相关文章!