Проблема, с которой вы столкнулись, связана с размышлением о комментировании строки 11, означающей, что вы удалили этот конструктор.
В C ++ есть пара конструкторов, которые генерируются автоматически, если вы в конечном итоге использовали их, даже если вы не объявили их сами. Конструктор копирования, имеющий ту же сигнатуру, что и закомментированный конструктор в B, является одним из них.
В вашем случае вы сначала вызываете конструктор по умолчанию для B, который сначала создает свой член A, используя также конструктор по умолчанию. Это должно дать вывод, который вы видите, когда тело конструктора копирования A достигается раньше тела B из-за порядка инициализации элемента.
Затем вы создаете новый объект типа B, используя оператор присваивания, который неявно вызывает созданный теперь конструктор копирования B. Это означает, что также вызывается конструктор копирования A, что является правилом в том, как конструктор копирования B является автогенерируемая. С копирующим конструктором A без комментариев он вызывается вместе с распечаткой.