What happens while a derived-class object is developed & destroyed?
A: Space is allocated (on the heap or the stack) for the full object (i.e. adequate space to store the data members inherited from the base class as well as the data members defined in derived class itself)
The constructor of base class is called to initialize the data members which inherited from the base class
Then the derived class's constructor is called to initialize data members added within the derived class
Then the derived-class object is usable
While the object is destroyed (goes out of scope or it is deleted) the derived class's destructor is called on the object first
The base class's destructor is then called on the object lastly the allocated space for the full object is reclaimed