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

Какие строки будут напечатаны в консоли

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

В примере объявлены два класса:

  • ClassA содержит виртуальный метод Test() и конструктор, в котором этот метод вызывается.
  • ClassB наследует ClassA и переопределяет метод Test(). Также в его конструкторе происходит вызов Test(). Какой вывод появится в консоли при создании экземпляра ClassB?
public class ClassA
{
    public ClassA()
    {
        Test()
    }

    public virtual void test()
    {
        Console.WriteLine("AAA");
    }
}

public class ClassB : ClassA
{
    public ClassB()
    {
        Test();
    }

    public override void Test()
    {
        Console.WriteLine("BBB");
    }
}

public class Main()
{
    Main()
    {
        classB t = new();
    }
}