Главная /
C#: ООП и классы /
Проанализируйте приведенную ниже программу и укажите результат после попытки запустить программу на компиляцию и выполнение: public delegate void Выдать(ref int a); class Начисление{ int s = 100; public event Выдать Зарплата; public void Начислить() { Зар
Проанализируйте приведенную ниже программу и укажите результат после попытки запустить программу на компиляцию и выполнение:
public delegate void Выдать(ref int a);
class Начисление{
int s = 100;
public event Выдать Зарплата;
public void Начислить() { Зарплата(ref s); }
public void Получите() { System.Console.Write(s); }}
class БумТрест { public static void OnЗарплата(ref int s) { s = s + 10; } }
class БумСтрой { public static void OnЗарплата(ref int s) { s = s - 30; } }
class Совместитель{
static void Main(string[] args) {
Начисление нач = new Начисление();
нач.Зарплата += new Выдать(БумТрест.OnЗарплата);
нач.Зарплата += new Выдать(БумСтрой.OnЗарплата);
нач.Зарплата -= new Выдать(БумТрест.OnЗарплата);
нач.Зарплата -= new Выдать(БумСтрой.OnЗарплата);
нач.Начислить(); нач.Получите(); } }
вопрос
Правильный ответ:
100
0
80
200
возникает исключение при попытке обращения по
null
-ссылке Сложность вопроса
79
Сложность курса: C#: ООП и классы
79
Оценить вопрос
Комментарии:
Аноним
Это очень заурядный вопрос интуит.
08 дек 2015
Другие ответы на вопросы из темы программирование интуит.
- # Исходный модуль содержит код: class MyOut { public int A = 555; int B; public int View() { return A + B; } } class Program { static void Main() { MyOut mout = new MyOut(); System.Console.Write(mout.A + mout.B); } } Метод Main разрабатывался для получения суммы полей A и B объекта класса MyOut. Трансляция программы завершена неудачно. Из приведенных высказываний укажите высказывание, которое раскрывает причину некорректности программы:
- # Исходный модуль содержит код: class ПРИБОР { public ПРИБОР() { System.Console.Write("ПРИБОР "); } } class ПРИЕМНИК : ПРИБОР { public ПРИЕМНИК() { System.Console.Write("ПРИЕМНИК "); } } class ТЕЛЕВИЗОР : ПРИБОР { public ТЕЛЕВИЗОР() { System.Console.Write("ТЕЛЕВИЗОР "); } } class Program { static void Main() { ПРИБОР P = new ТЕЛЕВИЗОР(); } } Укажите результат вывода на консоль после выполнения метода Main():
- # Исходный модуль содержит код классов ЧЕЛОВЕК,СОТРУДНИК и Program: class ЧЕЛОВЕК { string фамилия; public ЧЕЛОВЕК(string фамилия) {this.фамилия = фамилия;} public string ФАМ { get {return фамилия; } } } class СОТРУДНИК:ЧЕЛОВЕК { string должность; public СОТРУДНИК(string фамилия, string должность):base(фамилия) { this.должность = должность; } public string ДОЛ() { return должность; } } В классе Program определен метод Main, в теле которого находится код: СОТРУДНИК P = new СОТРУДНИК("Петров","Кассир"); System.Console.Write("{0} {1}", ______________ ); Требуется вывести фамилию и должность сотрудника. Среди перечисленных ниже кодов укажите код, подстановка которого вместо знаков подчеркивания позволяет получить программу, решающую поставленную задачу:
- # Из приведенных ниже высказываний укажите все истинные высказывания:
- # Проанализируйте приведенный код. struct Auto { public string марка; public Auto(string m) { марка = m; } } class Водитель { private string фамилия; private Auto марка; public Водитель(string фам, Auto м) { фамилия = фам; марка = м; } public override string ToString() { return string.Format("{0}у нравится {1}",фамилия, марка.марка) ; } } class Program { static void Main(string[] args) { Водитель[] водители = new Водитель[2]; Auto auto1 = new Auto("Мерседес"); Auto auto2 = new Auto("Тойота"); водители[0] = new Водитель("Иванов", auto1); водители[1] = new Водитель("Петров", auto2); auto2 = auto1; System.Console.WriteLine(водители[1]); } } Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение: