具有/不具有虚拟标识符的对象的大小

时间:2013-06-26 13:47:00

标签: c++ class virtual sizeof

#include<iostream>
using namespace std;
class base
{
 virtual int fun(int i){int j;}
};
int main()
{   base b;
    cout<<sizeof(b);
    return 0;
}

输出:4

现在:

#include<iostream>
using namespace std;
class base
{
 int fun(int i){int j;}     //removed virtual
};
int main()
{   base b;
    cout<<sizeof(b);
    return 0;
}

输出:1

为什么两个输出都存在差异?

0 个答案:

没有答案