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 invocation of the inherited constructor
. The complete initialization is considered to be a single function call;
in particular, the initialization of the inherited constructor's parameters
is sequenced before the initialization of any part of the
D object
.