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)
= 0se llama especificador puro .fuente
pureuna palabra clave contextual que coloque al final de una definición de función, de modo que, envirtual void MyFunction() purelugar de= 0, vaya junto confinalyoverride.