15.5.4. Instalar el vpointer

Debido a que el VPTR determina el comportamiento virtual de las funciones en un objeto, es crítico que el VPTR siempre esté apuntando a la VTABLE apropiada. No tendría sentido hacer una llamada a una función virtual antes de que esté inicializado apropiadamente a su correspondiente VTABLE. Por supuesto, el lugar donde se puede garantizar esta inicialización es en el constructor, pero ninguno de los ejemplos Instrument tiene constructor.

Aquí es donde la creación del constructor por defecto es esencial. En los ejemplos Instrument, el compilador crea un constructor por defecto que no hace nada más que inicializar el VPTR. Este constructor es, obviamente, llamado autormáticamente por todos los objetos Instrument antes de que se pueda hacer nada con ellos, lo que asegura el buen comportamiento con las llamadas a funciones virtuales.

Las implicaciones de la inicialización automática del VPTR dentro de un constructor se discute en un sección posterior.