Heim  >  Artikel  >  Backend-Entwicklung  >  Warum private virtuelle Methoden in C deklarieren?

Warum private virtuelle Methoden in C deklarieren?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-24 14:09:31576Durchsuche

Why Declare Private Virtual Methods in C  ?

Private virtuelle Methoden in C erstellen

Man könnte sich fragen, warum eine private Methode in C als virtuell deklariert wird. Ein Beispiel aus einem Open-Source-Projekt verdeutlicht dies:

<code class="cpp">class HTMLDocument : public Document, public CachedResourceClient {
private:
    virtual bool childAllowed(Node*);
    virtual PassRefPtr<Element> createElement(const AtomicString& tagName, ExceptionCode&);
};</code>

Um den Vorteil davon zu verstehen, greifen wir auf die Erkenntnisse von Herb Sutter zurück:

Richtlinie Nr. 2: Bevorzugen Sie private virtuelle Funktionen

Laut Sutter sollten virtuelle Funktionen als privat deklariert werden. Dies ermöglicht es abgeleiteten Klassen, diese Funktionen zur Anpassung zu überschreiben, ohne sie direkt verfügbar zu machen, wie es der Fall wäre, wenn sie lediglich geschützt wären.

Virtuelle Funktionen sollen Flexibilität bieten und nicht direkt aus abgeleitetem Klassencode aufgerufen werden. Daher ist „Privat“ die am besten geeignete Zugriffsebene für virtuelle Funktionen, sofern kein besonderer Bedarf für einen direkten Aufruf besteht.

Das obige ist der detaillierte Inhalt vonWarum private virtuelle Methoden in C deklarieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn