tengo una clase abstracta con un par de funciones virtuales puras, y una de las clases que se derivan de ella no utiliza una de las funciones virtuales puras:¿Hay alguna manera de "eliminar" una función virtual pura?
class derivative: public base
{
public:
int somevariable;
void somefunction();
};
de todos modos, cuando intento compilar, lo Obtiene un error (aparentemente, una clase todavía se considera abstracta si se deriva de una clase abstracta y no anula todas las funciones virtuales puras). De todos modos, parece inútil definir una función
int purevirtfunc(){return 0;}
simplemente porque tiene que definirse por un tecnicismo. ¿Hay alguna forma de derivar una clase de una clase abstracta y no usar una de las funciones virtuales puras de la clase abstracta?
Si hubiera alguna manera, ¿qué esperarías que ocurriera si el código llama a uno de esos métodos no implementados? – Aardvark