当我们在那个没有任何数据成员的类的对象上使用sizeof运算符时。那么输出会是什么?

时间:2013-08-08 17:15:21

标签: c++

当我们在没有任何数据成员的那个类的对象上使用sizeof运算符时。那么输出会是什么?为什么这总是输出1 ??

class Abhi
{
public :
int sum (int, int);
int avg (int);
};
int Abhi:: sum(int a, int b)
{
float c;
c=a+b;
return 0;
}

int main()
{
Abhi abh;
int c;
c= sizeof(abh);
cout<<c;
}

1 个答案:

答案 0 :(得分:4)

根据标准,类的每个实例都必须具有唯一的地址。这通常通过给出一个“空”类(没有数据成员)最小大小来实现,就好像里面有一个虚拟字符。这就是sizeof给出1而不是0的原因。