Множественное наследование: размер класса для виртуальных указателей?

Дан код:

class A{};

class B : public virtual A{};

class C : public virtual A{};

class D : public B,public C{};

int main(){
cout<<"sizeof(D)"<<sizeof(D);
return 0;
}

Вывод: sizeof(D) 8

Каждый класс содержит свой собственный виртуальный указатель, но не какой-либо из его базовых классов, Итак, почему размер класса (D) равен 8?

6
задан Stav Alfi 18 July 2017 в 19:53
поделиться