主题:sizeof 的问题
xiaosuifeng
[专家分:0] 发布于 2010-09-23 15:13:00
class A
{
public:
double d;
float a;
int b;
char c;
A();
~A();
};
问一下sizeof(A)是多少,为什么
回复列表 (共3个回复)
沙发
xiaosuifeng [专家分:0] 发布于 2010-09-23 15:37:00
再追加一个问题:
class base
{
public:
base(){};
~base(){};
virtual void f(){cout<<"aa";}
virtual void g(int i=10){cout<<i;}
};
class derived:public base
{
public:
derived(){}
~derived(){}
virtual void g(int i=20){cout<<i;}
};
sizeof(derived)是多少,如果改成虚继承又是多少
板凳
淘宝商盟 [专家分:30] 发布于 2010-09-26 14:09:00
寻找中国的最优秀的网商领袖精英 淘宝商盟 qq: 908889846
当今世界正经历着全球经济一体化的大潮,中国本土企业也因此面临着前所未有的机遇与挑战。
在这场洗礼中,哪些互联网平台有能力成为世界级的电子商务平台?网商精英要怎样做,才能最终成长为世界级网商精英领袖?
淘宝商盟平台震撼登场,携手淘宝30万商家联盟购物商城。
平台刚刚启动,互联网的网商精英请咨询qq: 908889846
占领市场第一先机,合力打造网商系统!
淘宝商盟官网 www.taobaosm.com
http://blog.sina.com.cn/tbsm8
淘宝商盟奖励制度
3 楼
铁木红虎 [专家分:0] 发布于 2011-01-01 19:30:00
在早期的编译器是不能计算类的大小 ,计算的是对象的大小 其实你这两个问题的关键你虚函数,其实虚函数里面有个隐藏的指向虚函数表的指针 大小是4,你估计是忘记加这个了。如果是虚拟继承还要加一个指向父类的指针.不知道你明白了没有
我来回复