first of all constructor of base class is called. it is so because it is inherited in derived class so the order to call the constructors would be like that the class which is inherited first ,its constructor is called first and then the constructor of the class which is inheriting the base class is called.
let us take an example
class a: public b,public c,public d
{ ....
}
then it will call the constructor of class b first then c then d and then a.
In the case of destructor, you have made the destructor of base class as virtual so when you writing delete Var , it is calling destructor of derived class.
and at the end to delete all the objects, the destructor of base class is called.