Предположим, что существует базовый класс A
и класс B
, полученный из A
.
Затем мы знаем, что конструктор класса A
никогда не наследуется классом B
. Однако, когда создается новый объект B
, тогда - конструктор по умолчанию класса A
вызывается до того, как по умолчанию/пользовательский конструктор класса B
вызывается. Возможно, целью этого является то, что поля класса A
должны быть инициализированы значениями по умолчанию.
Теперь предположим, что класс A
определил пользовательский конструктор. Это означает, что конструктор по умолчанию класса A
молча удаляется компилятором. Теперь, при создании нового экземпляра класса B
, какой конструктор класса A
автоматически вызывается перед вызовом конструктора class B
? (Как поля класса A
получают инициализацию в таком случае?)