#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| |--------| **/