Ich habe mich immer gefragt, warum wir codieren
virtual void MyFunction() = 0;
und nicht
pure virtual void MyFunction();
Gibt es eine Referenz für die Grundlage dieser Entscheidung?
Ich habe mich immer gefragt, warum wir codieren
virtual void MyFunction() = 0;
und nicht
pure virtual void MyFunction();
Gibt es eine Referenz für die Grundlage dieser Entscheidung?
Antworten:
Aus dem Design und der Entwicklung von C ++ - Bjarne Stroustrup - Addison-Wesley (ISBN 0-201-54330-3) - Kapitel 13.2.3:
In jedem Fall wird der C ++ - Standard (§ 9.2 - Klassenmitglieder)
= 0
als reiner Bezeichner bezeichnet .quelle
pure
einen Kontext Schlüsselwort , das Sie am Ende einer Funktionsdefinition setzen, sovirtual void MyFunction() pure
statt= 0
, zu gehen zusammen mitfinal
undoverride
.