废话少说,直接上代码
#include<iostream>
using namespace std;
class A{
};
class B{
B(){}
~B(){}
};
class C{
C(){}
virtual ~C(){}
};
int main(){
cout<<"A的大小:"<<sizeof(A)<<endl;
cout<<"B的大小:"<<sizeof(B)<<endl;
cout<<"C的大小:"<<sizeof(C)<<endl;
}
结果是什么?
以下是剑指OFFER上给的解释:
讲解的很详细。
我的机器是64位的,所以结果是:
拓展:
如果类中有俩个虚函数呢?
class D{
D(){}
virtual ~D(){}
virtual void func(){}
};
结果和一个虚函数一样,还是64。
因为带有虚函数的类的sizeof大小,实际上和虚函数的个数不相关,相关的是虚函数指针。