#include using namespace std; class C1 { public: void met(){ cout << "C1!" << endl; } }; class C2 : virtual public C1{ public: void met(){ cout << "C2!" << endl; } }; class C3 : virtual public C1 { public: void met(){ cout << "C3!" << endl; } }; class C4 : public C2, public C3 { public: void met(){ cout << "C4!" << endl; } }; int main(){ C1 *c1 = new C4(); // C2 *c2 = (C2 *)c1; // C3 *c3 = (C3 *)c1; c1->met(); }