Siempre me he preguntado por qué codificamos
virtual void MyFunction() = 0;
y no
pure virtual void MyFunction();
¿Hay alguna referencia para la base de esta decisión?
Siempre me he preguntado por qué codificamos
virtual void MyFunction() = 0;
y no
pure virtual void MyFunction();
¿Hay alguna referencia para la base de esta decisión?
Respuestas:
Del diseño y evolución de C ++ - Bjarne Stroustrup - Addison-Wesley (ISBN 0-201-54330-3) - capítulo 13.2.3:
De todos modos, mirar el estándar C ++ (§ 9.2 - Miembros de la clase)
= 0
se llama especificador puro .fuente
pure
una palabra clave contextual que coloque al final de una definición de función, de modo que, envirtual void MyFunction() pure
lugar de= 0
, vaya junto confinal
yoverride
.