#ifndef FAMILYH #define FAMILYH class grandparent { int i; public: grandparent(int initial_i): i(initial_i) {} }; class mother: public virtual grandparent { int j; public: mother(int initial_i, int initial_j) : grandparent(initial_i), j(initial_j) {} }; class father: public virtual grandparent { int k; public: father(int initial_i, int initial_k) : grandparent(initial_i), k(initial_k) {} }; class grandchild: public mother, public father { int l; public: grandchild(int initial_i, int initial_j, int initial_k, int initial_l) : grandparent(initial_i), mother(initial_i, initial_j), father(initial_i, initial_k), l(initial_l) {} }; void print(const mother *m); #endif