Multiple inheritance casting from base class to different derived class
问题 Let's assume there is such class hierarchy: class A //base class class B //interface class C : public A, public B Then C object is created: A *object = new C(); Is it possible to cast object to B ? Important: I assume I don't know that object is C. I just know that it implements interface B 回答1: No . This is not possible (direct casting from A* to B* ). Because the address of A and B are at different locations in class C . So the cast will be always unsafe and possibly you might land up in