#include using namespace std;

class A //基类A { public: int dataA; };

class B : virtual public A { public: int dataB; };

class C : virtual public A { public: int dataC; };

class D : public B,public C { public: int dataD; }; //编写测试主函数,测试各个类的内存分配情况 int main() { cout << 'sizeof(A): ' << sizeof(A) << endl; //输出A类的大小 cout << 'sizeof(B): ' << sizeof(B) << endl; //输出B类的大小 cout << 'sizeof(C): ' << sizeof(C) << endl; //输出C类的大小 cout << 'sizeof(D): ' << sizeof(D) << endl; //输出D类的大小 return 0; }

//输出结果: //sizeof(A): 4 //sizeof(B): 8 //sizeof(C): 8 //sizeof(D): 16

C++ 虚继承代码示例及内存分配分析

原文地址: https://www.cveoy.top/t/topic/nIaz 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录