Sí, las clases abstractas tienen vtables, también con métodos abstractos puros (estos pueden implementarse y llamarse), y sí, su constructor inicializa las entradas puras en un valor especificado.
¿Puede una clase abstracta tener una función virtual?
Una clase abstracta contiene al menos una función virtual pura. Declara una función virtual pura usando un especificador puro (=0) en la declaración de una función miembro virtual en la declaración de clase.
¿Todas las clases tienen mesa virtual?
Así que la respuesta corta es no. La norma no especifica esto.
¿La clase abstracta contiene funciones no virtuales?
Las clases abstractas (aparte de las funciones virtuales puras) pueden tener variables miembro, funciones no virtuales, funciones virtuales regulares, funciones estáticas, etc. Los objetos de las clases abstractas no se pueden instanciar.
¿Puede la clase abstracta crear un objeto?
No, no podemos crear un objeto de una clase abstracta … La variable de referencia se usa para referirse a los objetos de clases derivadas (subclases de clase abstracta). Una clase abstracta significa ocultar la implementación y mostrar la definición de la función al usuario y se conoce como clase abstracta.