Classes that contain class-type data members are called “composed classes.” When an object of a composed class type is created, the constructors for the contained classes are called before the class’s own constructor.
For a more information about this kind of initialization, see Initializing Bases and Members.