在 C 中创建私有虚拟方法
人们可能想知道为什么私有方法在 C 中被声明为 virtual 。开源项目中的一个示例说明了这一点:
<code class="cpp">class HTMLDocument : public Document, public CachedResourceClient { private: virtual bool childAllowed(Node*); virtual PassRefPtr<Element> createElement(const AtomicString& tagName, ExceptionCode&); };</code>
为了了解其优势,我们转向 Herb Sutter 的见解:
准则 #2:首选私有虚拟函数
根据 Sutter 的说法,虚函数应该声明为私有。这允许派生类重写这些函数以进行自定义,而无需直接公开它们,就像它们仅受保护一样。
虚拟函数旨在提供灵活性,而不是直接从派生类代码调用。因此,除非有直接调用的特定需要,否则 private 是最合适的虚拟函数访问级别。
以上是为什么在 C 中声明私有虚拟方法?的详细内容。更多信息请关注PHP中文网其他相关文章!