Private rein virtuelle Funktionen: Zweck und Implementierung
Wenn man auf private rein virtuelle Funktionen stößt, fragt man sich häufig, wie abgeleitete Klassen darauf zugreifen und diese neu implementieren können
Virtuelle Zugänglichkeit und Neuimplementierung
Im Gegensatz zu dem, was Sie vielleicht annehmen, sind private virtuelle Funktionen für abgeleitete Klassen zugänglich. Methoden abgeleiteter Klassen können keine virtuellen Funktionen aus der Basisklasse aufrufen, aber sie können ihre eigenen Implementierungen überschreiben und bereitstellen.
Gründe für die Verwendung privater rein virtueller Funktionen
Diese Redewendung trennt die Spezifikation der Schnittstelle von der Spezifikation des anpassbaren Implementierungsverhaltens. Es ermöglicht eine klare und flexible Schnittstelle, die durch abgeleitete Klassen erweitert werden kann.
Das „PONV POV“-Idiom
Der von Ihnen bereitgestellte Codeausschnitt entspricht dem „Public „Overloaded Non-Virtuals Call Protected Non-Overloaded Virtuals“ (PONV POV) Idiom. Hier rufen öffentliche überladene nicht virtuelle Funktionen nicht öffentliche, nicht überladene virtuelle Funktionen auf.
Verwaltung von Ausblendregeln
Diese Redewendung hilft bei der Verwaltung der Ausblendregel in C. Wenn die virtuellen Funktionen überlastet und öffentlich wären, könnte ein Problem auftreten, wenn versucht wird, bestimmte Implementierungen in abgeleiteten Klassen zu überschreiben. Die using-Deklaration wäre notwendig, um das Verbergen von Basisklassenmitgliedern zu verhindern.
Durch die Verwendung des PONV-POV-Idioms mit privaten virtuellen Funktionen können abgeleitete Klassen einfach die gewünschten Implementierungen überschreiben, ohne sich Gedanken über Versteckprobleme machen zu müssen.
Das obige ist der detaillierte Inhalt vonWarum werden in C private rein virtuelle Funktionen verwendet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!