CS202   3- ‹#›
Virtual Inheritance
nIf a path exists in the multiple inheritance hierarchy that derives the common base class as not virtual (i.e., leaving out the keyword virtual), then this turns off virtual inheritance for that path and more than one instance of the common_base will be formed.
nVirtual base classes are constructed before any of their derived classes. They are also constructed before any non virtual base classes. And, destructors are still invoked in the reverse order of constructors.
nAny direct or indirect base classes that have initialization lists that invoke the virtual base class constructor are ignored.