Je me suis toujours demandé pourquoi nous codions
virtual void MyFunction() = 0;
et pas
pure virtual void MyFunction();
Y a-t-il une référence sur la base de cette décision?
Je me suis toujours demandé pourquoi nous codions
virtual void MyFunction() = 0;
et pas
pure virtual void MyFunction();
Y a-t-il une référence sur la base de cette décision?
Réponses:
Tiré de La conception et l'évolution du C ++ - Bjarne Stroustrup - Addison-Wesley (ISBN 0-201-54330-3) - chapitre 13.2.3:
Quoi qu'il en soit, regarder la norme C ++ (§ 9.2 - Membres de classe)
= 0
est appelé pur-spécificateur .la source
pure
un mot-clé contextuel que vous mettez à la fin d'une définition de fonction, doncvirtual void MyFunction() pure
au lieu de= 0
, pour aller avecfinal
etoverride
.