首頁  >  文章  >  後端開發  >  為什麼在 C 中宣告私有虛擬方法?

為什麼在 C 中宣告私有虛擬方法?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-24 14:09:31491瀏覽

Why Declare Private Virtual Methods in C  ?

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn