#include <iostream>
using namespace std;
/*/////////////////////////////////////////////
这个程序演示类的大小,空类和虚函数的大小
/////////////////////////////////////////////*/
//至少有一个字节 1
class A0
{ }; //虚函数,有一个隐含的地址成员vptr 4
class A
{
virtual void fun1(){};
};
//虚函数,有一个隐含的地址成员vptr,但地址表不在类里面 4个字节
class B
{
public:
virtual void fun1(){};
virtual void fun2(){};
virtual void fun3(){};
};
int main()
{
cout<<sizeof(A0)<<" "<<sizeof(A)<<" "<<sizeof(B)<<endl;
return 0;
}
//输出:1 4 8
using namespace std;
/*/////////////////////////////////////////////
这个程序演示类的大小,空类和虚函数的大小
/////////////////////////////////////////////*/
//至少有一个字节 1
class A0
{ }; //虚函数,有一个隐含的地址成员vptr 4
class A
{
virtual void fun1(){};
};
//虚函数,有一个隐含的地址成员vptr,但地址表不在类里面 4个字节
class B
{
public:
virtual void fun1(){};
virtual void fun2(){};
virtual void fun3(){};
};
int main()
{
cout<<sizeof(A0)<<" "<<sizeof(A)<<" "<<sizeof(B)<<endl;
return 0;
}
//输出:1 4 8