Viruelle Funktionen
-
Virtuelle Funktionen stellen eine wichtige Technik dar, um sicherzustellen, dass stets die „richtige“ Funktion aufgerufen wird. Warum ist es dennoch sinnvoll, die Möglichkeit zu haben, virtuelle und nicht-virtuelle Funktionen zu haben? Alternativ könnten ja auch alle Funktionen stets virtuell sein.
-
@frey22 sagte in Viruelle Funktionen:
Warum ist es dennoch sinnvoll, die Möglichkeit zu haben, virtuelle und nicht-virtuelle Funktionen zu haben?
Weil man für nichts zahlen will für das man nicht zahlen muss?
[C++] How Are Virtual Functions Implemented At a Deep Level?
-
-
Und weil man oft gar nicht will dass Funktionen überschrieben werden können.
Eine virtuelle Funktion ist ein "extension point". Je mehr Funktionen man zu "extension points" macht, desto schwieriger wird es alle Sonderfälle abzudecken. Und desto schwieriger wird es eine API anzubieten bei der man wenig falsch machen kann.