C 中的虚拟私有方法
你遇到过带有私有虚拟方法的 C 类吗?这种有趣的编码实践在某些场景下可以提供显着的优势。
私有虚拟方法的优点
根据著名 C 专家 Herb Sutter 的说法,虚拟方法是private 通过以下方式使代码受益:
实际示例
考虑您提到的 C 项目中的 HTMLDocument 类:
<code class="cpp">class HTMLDocument : public Document, public CachedResourceClient { private: virtual bool childAllowed(Node*); virtual PassRefPtr<Element> createElement(const AtomicString& tagName, ExceptionCode&); };</code>
私有虚拟方法 childAllowed 和 createElement 为派生类提供自定义点而不向外部暴露这些方法。这允许子类专门化文档处理行为,而无需直接修改基类实现。
结论
C 中的私有虚拟方法在定制和封装之间取得了平衡。通过限制其对定义类的可见性,它们使派生类能够定制基类行为的特定方面,而不会影响设计的整体模块化性和灵活性。
以上是在 C 中使用私有虚拟方法有哪些优点?的详细内容。更多信息请关注PHP中文网其他相关文章!