C++派生类对象模型

来源:互联网 发布:mac帐号 编辑:程序博客网 时间:2024/06/09 23:26
 
#include <iostream>using namespace std;class base{public:base(){}virtual ~base(){}int get()const{return num;}private:int num;};class base1{public:base1(){}virtual ~base1(){}private:int helthy;};class base2{public:base2(){}virtual ~base2(){}private:int aa;};class derived:public base,public base1,public base2{public:derived(){}~derived(){}private:int id;};int main(){base *pb = new derived;cout << pb << endl;int *p = (int*)pb;p[1] = 5;cout << pb->get() << endl;delete pb;return 0;}/**multiple inheritance class object model|--------| <<---- this(base,derived)   base *pb = new derived;derived md1;| base   ||--------| <<---- this(base1) base1 *pb1 = new derived;| base1  ||--------| <<---- this(base2) base2 *pb2 = new derived;| base2  ||--------| ---->> derived class object model| derived||--------|**/

原创粉丝点击