请教虚拟继承算类的大小
#include<iostream>#include<memory.h>using namespace std;class baseClass{ public: int nvalue1; char c; baseClass() { nvalue1=0; cout<< "create baseclass"<<endl; }; virtual ~baseClass() { cout<<"destroy baseclass"<<endl; }; virtual void fool(void){}; void getValue(void) { cout<<"nvalue1="<<nvalue1<<endl; };};class midClass1 :virtual public baseClass{ public: int nMidValue1; midClass1() { cout<<"create midClass1"<<endl; }; virtual ~midClass1() { cout<<"destory midClass1"<<endl; }; int getValue(void) {}; virtual void setValue(void) { nvalue1=10; };};class midClass2 :virtual public baseClass{ public: int nMidValue2; midClass2() { cout<<"create midClass1"<<endl; }; virtual ~midClass2() { cout<<"destory midClass2"<<endl; }; int getValue(void) {}; virtual void setValue(void) { nvalue1=20; };};class deriverClass : public midClass1,public midClass2{ public : int nSubValue; deriverClass() { cout<<"create deriverClass"<<endl; }; ~deriverClass() { cout<<"destroy deriverClass"<<endl; }; virtual void foo2(void){};};int main(){ //deriverClass aSimple; cout<<"sizeof(baseClass)="<<sizeof(baseClass)<<endl; cout<<"sizeof(midClass1)="<<sizeof(midClass1)<<endl; cout<<"sizeof(midClass2)="<<sizeof(midClass2)<<endl; cout<<"sizeof(deriverClass)="<<sizeof(deriverClass)<<endl; return 0;}