#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
为什么这跟第一段代码执行结果不相同呢? |