在 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中文網其他相關文章!