Jungs, ich weiß, diese Frage ist sehr einfach, aber ich habe in einigen Publikationen (Websites, Bücher) verschiedene Arten von override virtuellen Funktionen getroffen. Was ich meine ist: wenn ich Basisklasse habe:
%Vor%In einigen Publikationen habe ich gesehen, dass einige Autoren einfach sagen würden, um dies zu überschreiben:
%Vor%und einige würden immer noch das virtuelle Schlüsselwort wiederholen, bevor es ungültig wird. Welche Form des Überschreibens ist in gutem Stil? Danke für deine Antworten.
Das ist reine Geschmackssache. Einige schwache Argumente können hin und her hinsichtlich des Selbstdokumentationswerts einiger Stile gegenüber der Nicht-Redundanz anderer gemacht werden.
Es ist nicht notwendig, das virtuelle Schlüsselwort zu einer Methode hinzuzufügen, die Sie in einer Unterklasse überschreiben, da dieses Qualifikationsmerkmal nicht entfernt werden kann, indem Sie es in Unterklassen-Deklarationen weglassen.
Es empfiehlt sich jedoch, das virtuelle Schlüsselwort zu wiederholen, da es dokumentiert, welche abgeleiteten Funktionen in der Basisklasse virtuell sind.
Dies wird auch vom Handbuch 'High Integrity C ++ Coding Standard' empfohlen .
, das in den C ++ FAQ verlinkt ist.
Ich persönlich benutze beide Stile: virtual
bedeutet, dass die Methode überschrieben werden kann.
Wir haben also zwei Fälle:
virtual
-Schlüsselwort Template Pattern
neue Methoden angeben), verwenden Sie nicht das Schlüsselwort virtual
Ich denke, es ist noch eine andere Art, das Schlüsselwort zu verwenden (ab?).
Tags und Links c++ coding-style override virtual-functions