Назад к задачам
Junior — Senior
10

Какой вывод будет у виртуального метода, вызываемого из конструктора абстрактного класса

Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Какой результат выведет программа? Появится ли ошибка во время выполнения?

B obj = new B{};

abstract class A
{
    protected A()
    {
        this.Foo();
    }
    protected abstract void Foo();
}

class B : A
{
    private StringBuilder builder;

    public B()
    {
        builder = new StringBuilder();
        builder.Append("hello");
    }

    protected override void Foo()
    {
        builder.Append(" world ");
        Console.WriteLine(builder);
    }
}