Hi, I am trying to figure out why _vptr$Grandparent & grandparent_data occupy the last memory in class child's memory layout although it is top in hiearchy? Still unable to understand why. Would appreciate anyone who can enlighten me on this.
It is (at best) a peculiarity of your particular compiler implementation.
Use a different compiler (or even just patch or upgrade your current compiler), and you could find something else entirely being done.
Sure, it's curiously interesting.
But you're not going to become a better C++ programmer from some deep understanding of why this is so for your particular machine.