Layout de tabela virtual C ++ do MI (herança múltipla)

Olhe para o seguinte código C ++

class Base1 {  
public:  
    Base1();  
    virtual ~Base1();  
    virtual void speakClearly();  
    virtual Base1 *clone() const;  
protected:  
    float data_Base1;  
};  

class Base2 {  
public:  
    Base2();  
    virtual ~Base2();  
    virtual void mumble();  
    virtual Base2 *clone() const;  
protected:  
    float data_Base2;  
};  

class Derived : public Base1, public Base2 {  
public:  
    Derived();  
    virtual ~Derived();  
    virtual Derived *clone() const;  
protected:  
    float data_Derived;  
}; 

O 《Inside do C ++ Object Model》 4.2 diz que o layout de tabela virtual da classe Base1, Base2 e Derived é assim:

Minha pergunta é :

A tabela virtual do SubObject Base1 da classe Derived containsBase2::mumblePor que eu sei que classe Derived compartilhou essa tabela virtual com Base1, então eu acho que a função de Base2 não deveria aparecer aqui. Alguém poderia me dizer por quê? THX.

questionAnswers(2)

yourAnswerToTheQuestion