打印

sizeof的疑惑

[复制链接]
837|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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

粉丝