#include "stdafx.h"
#include <Windows.h>
class X
{
//int count;
};
class Y:public virtual X
{
};
class Z:public virtual X
{
};
class A:public Y,public Z
{
};
int _tmain(int argc, _TCHAR* argv[])
{
char buf[100]={0};
sprintf_s(buf,100,"sizeof(X)=%u,sizeof(Y)=%u,sizeof(Z)=%u,sizeof(A)=%u",sizeof(X),sizeof(Y),sizeof(Z),sizeof(A));
printf_s(buf);
Sleep(100000);
return 0;
#include <Windows.h>
class X
{
//int count;
};
class Y:public virtual X
{
};
class Z:public virtual X
{
};
class A:public Y,public Z
{
};
int _tmain(int argc, _TCHAR* argv[])
{
char buf[100]={0};
sprintf_s(buf,100,"sizeof(X)=%u,sizeof(Y)=%u,sizeof(Z)=%u,sizeof(A)=%u",sizeof(X),sizeof(Y),sizeof(Z),sizeof(A));
printf_s(buf);
Sleep(100000);
return 0;
}
输出: sizeof(X)=1,sizeof(Y)=4,sizeof(Z)=4,sizeof(A)=8
上面的对象模型是什么?
————————————————————————————————————————————————————————————————————————————
#include "stdafx.h"
#include <Windows.h>
class X
{
int count;
};
class Y:public virtual X
{
};
class Z:public virtual X
{
};
class A:public Y,public Z
{
};
int _tmain(int argc, _TCHAR* argv[])
{
char buf[100]={0};
sprintf_s(buf,100,"sizeof(X)=%u,sizeof(Y)=%u,sizeof(Z)=%u,sizeof(A)=%u",sizeof(X),sizeof(Y),sizeof(Z),sizeof(A));
printf_s(buf);
Sleep(100000);
return 0;
}
输出: sizeof(X)=4,sizeof(Y)=8,sizeof(Z)=8,sizeof(A)=12
上面的对象模型又是什么?