#include using namespace std ; class A { public: int x1 ; }; class B : public A { public: int x1B ; }; class C : public A { public: int x1C ; }; int main() { B bObject ; bObject.x1B = 22 ; A* aObject = &bObject ; //Not safe. as aObject contains bObject as the //underlying object C* cObject = (C*)aObject ; cout << cObject->x1C << endl ; }