Поскольку конструктор по умолчанию для A является личным, попробуйте protected A() {}
в качестве конструктора.
Класс B
автоматически вызывает конструктор по умолчанию A
, если он недоступен для B
или тамне является конструктором по умолчанию (если у вас есть конструктор protected A(string s) {}
) B
не может быть правильно создан.
Компилятор автоматически генерирует следующий конструктор по умолчанию в B
public B() : base()
{
}
Гдеbase()
- это фактический вызов конструктора по умолчанию A
.