An object of derived type is constructed from the base class to the derived class by calling the constructors for each class in order. Each class’s constructor can rely on its base classes being completely constructed.
For a complete description of initialization, including the order of initialization, see Initializing Bases and Members.