When a constructor for type 
B is invoked
to initialize an object of a different type 
D
(that is, when the constructor was inherited (
[namespace.udecl])),
initialization proceeds as if a defaulted default constructor
were used to initialize the 
D object and
each base class subobject from which the constructor was inherited,
except that the 
B subobject is initialized
by the inherited constructor
if the base class subobject were to be initialized
as part of the 
D object (
[class.base.init])
.The invocation of the inherited constructor,
including the evaluation of any arguments,
is omitted if the 
B subobject is not to be initialized
as part of the 
D object
.The complete initialization is considered to be a single function call;
in particular, unless omitted,
the initialization of the inherited constructor's parameters
is sequenced before the initialization of any part of the 
D object
.