Что выведет код Junior ООП в C# обновлено

Статическое поле общее для всех объектов

Вопрос

Что выведет программа (.NET 8)? По строке на каждый вывод.

var a = new Counter();
var b = new Counter();
a.Inc(); b.Inc(); b.Inc();
Console.WriteLine(Counter.Total);
Console.WriteLine(a.Mine + " " + b.Mine);

class Counter
{
    public static int Total;
    public int Mine;
    public void Inc() { Total++; Mine++; }
}

Попробуйте сами

Напишите, что выведет код: каждый вывод с новой строки.

Показать ответ и разбор

Коротко

Код выведет: 3, 1 2. Статическое поле одно на тип, все экземпляры увеличивают одну переменную: 3.

Что выведет

3
1 2

Разбор

Статическое поле одно на тип, все экземпляры увеличивают одну переменную: 3. Поле экземпляра у каждого объекта своё: у a 1, у b 2.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме