Tomando el siguiente fragmento como un ejemplo:Costos herencia en C++
struct Foo
{
typedef int type;
};
class Bar : private Foo
{
};
class Baz
{
};
Como se puede ver, no existen funciones virtuales en esta relación. Dado que este es el caso, ¿las siguientes suposiciones son precisas en lo que se refiere al lenguaje?
- No se creará tabla de funciones virtuales en
Bar
. sizeof(Bar) == sizeof(Baz)
Básicamente, estoy tratando de averiguar si voy a estar pagando ningún tipo de sanción por hacer esto. Mi prueba inicial (aunque en un único compilador) indica que mis afirmaciones son válidas, pero no estoy seguro de si este es el optimizador de mi compilador o la especificación del lenguaje que es responsable de lo que estoy viendo.
+1 por su curiosidad e inquietud. –