空类的sizeof为1

来源:互联网 发布:android网络抓包工具 编辑:程序博客网 时间:2024/05/22 02:23

程序:

#include "iostream"#include "cstdlib"using namespace std;class A /* 空类 */{      };class B: public A{};struct C{};struct D: public C{};struct E: virtual public C //虚继承 {};class F: virtual public A{};class G: virtual public A //虚继承{      virtual void fun(){} //内含虚函数};class H{      virtual void fun2(){} //内含虚函数};int main(){    cout<<sizeof(A)<<endl; //1    cout<<sizeof(B)<<endl; //1    cout<<sizeof(C)<<endl; //1    cout<<sizeof(D)<<endl; //1    cout<<sizeof(E)<<endl; //4    cout<<sizeof(F)<<endl; //4    cout<<sizeof(G)<<endl; //4    cout<<sizeof(H)<<endl; //4    system("pause");    return 0;}

程序运行结果:


0 0