Rule 2 — http://bigblog.tanbin.com/2012/01/dcbc-dtor-execution-order.html shows the dtor sequence. Ctor is the opposite — B-C-D. Let’s call it Rule 2
The exception to Rule 2 is virtual base — Virtual base is constructed before non-virtual bases.
However, this rule still holds —
Rule 1 — dtor / ctor are Always in reverse orders.
Therefore, virtual base is destroyed Last. See http://msdn.microsoft.com/en-us/library/8ff62s5k.aspx
P292 ARM has a concise and complete treatment.