Mi comprensión básica es que no hay implementación para una función virtual pura, sin embargo, me dijeron que podría haber implementación para una función virtual pura. class A { public: virtual void f() = 0; }; void A::f() { cout<<"Test"<<endl; } ¿El código de arriba está bien? ¿Cuál es el …
¿Está mal escribir: class A { public: virtual ~A() = 0; }; para una clase base abstracta? Al menos eso se compila en MSVC ... ¿Se bloqueará en tiempo de ejecución?
Entiendo la necesidad de un destructor virtual. Pero, ¿por qué necesitamos un destructor virtual puro? En uno de los artículos de C ++, el autor ha mencionado que usamos un destructor virtual puro cuando queremos hacer un resumen de clase. Pero podemos hacer un resumen de clase haciendo que cualquiera …
Siempre declaramos una función virtual pura como: virtual void fun () = 0 ; Es decir, siempre se asigna a 0. Lo que entiendo es que esto es para inicializar la entrada vtable para esta función a NULL y cualquier otro valor aquí resulta en un error de tiempo de …
A veces noto programas que se bloquean en mi computadora con el error: "llamada de función virtual pura". ¿Cómo se compilan estos programas cuando no se puede crear un objeto a partir de una clase abstracta?
Hoy estaba leyendo sobre la función pura, me confundí con su uso: Se dice que una función es pura si devuelve el mismo conjunto de valores para el mismo conjunto de entradas y no tiene efectos secundarios observables. por ejemplo, strlen()es una función pura mientras que rand()es impura. __attribute__ ((pure)) …