sizeof的疑惑

[复制链接]
 楼主| txcy 发表于 2012-4-17 18:50 | 显示全部楼层 |阅读模式
#include<iostream>
using
namespace std;
class a
{
  [color
=#FF0000]int x;[/color]
  
virtual
void func(){};
};

class b:public
virtual a
{
};

int main(){
  a A;
  b B;
  cout
<<sizeof(A)<<endl;
  cout
<<sizeof(B)<<endl;
  
return
0;
}


以上代码执行结果为:(注:32位系统,G++ 4.3.2
4
8

C/C++ code #include<iostream>
using
namespace std;class a{  virtual
void func(){};};class b:public
virtual a{};int main(){  a A;  b B;  cout<<sizeof(A)<<endl;  cout<<sizeof(B)<<endl;  return
0;}

但这段代码执行结果却为:
4
4
为什么这跟第一段代码执行结果不相同呢?
vivilzb1985 发表于 2012-4-17 20:44 | 显示全部楼层
楼主这代码是一样的,但是就是变成环境语言是不一样的,一个G++,一个C++,那只能是让更专业的大虾来帮着解答了啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

274

主题

2106

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

274

主题

2106

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部