Главная /
C#: ООП и классы /
Проанализируйте приведенный код. delegate void MyEventHandler(ref int a); class MyEvent { public event MyEventHandler SomeEvent; public void OnSomeEvent(ref int d) { if (SomeEvent != null) SomeEvent(ref d); } } class EventTest { static void Handler1(ref i
Проанализируйте приведенный код.
delegate void MyEventHandler(ref int a);
class MyEvent
{ public event MyEventHandler SomeEvent;
public void OnSomeEvent(ref int d)
{ if (SomeEvent != null) SomeEvent(ref d); } }
class EventTest
{ static void Handler1(ref int b) { b = 2 * b; }
static void Handler2(ref int c) { c = c + 12; Handler1(ref c);}
public static void Main()
{ MyEvent evt = new MyEvent();
int a = int.Parse(System.Console.ReadLine());
if (a > 0) evt.SomeEvent += new MyEventHandler(EventTest.Handler1);
else if (a < 0) evt.SomeEvent += new MyEventHandler(EventTest.Handler2);
evt.OnSomeEvent(ref a); System.Console.WriteLine(a);
} }
Пользователь собирается после запуска программы ввести число -5
. Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:
вопрос
Правильный ответ:
7
14
-5
программа завершится аварийно
программа не выполняется, так как обнаружена одна или несколько синтаксических ошибок
Сложность вопроса
89
Сложность курса: C#: ООП и классы
79
Оценить вопрос
Комментарии:
Аноним
Если бы не эти подсказки - я бы сломался c этими тестами intuit.
11 июн 2019
Аноним
Это очень нехитрый вопрос intuit.
11 окт 2018
Другие ответы на вопросы из темы программирование интуит.
- # Из приведенных ниже высказываний укажите все истинные высказывания:
- # Проанализируйте приведенный код. class Rectangle { public int x = 10, y = 20; public Rectangle(int x, int y) { this.x = x; this.y = y; } public virtual int Zoom { get { return x * y; } set { x += value; y += value; } } } class Параллепипед : Rectangle { public int z; public Параллепипед(int x, int y, int z) : base(x, y) { this.z = z; } public override int Zoom { get { return x*y*z; } set { x+=value; y+=value; z+=value; } } } class Program { static void Main() { Параллепипед парал = new Параллепипед(6, 8, 10); парал.Zoom = -5; System.Console.Write(парал.Zoom); } } Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:
- # Из приведенных ниже высказываний укажите все истинные высказывания:
- # Из приведенных ниже высказываний укажите все истинные высказывания:
- # Исходный модуль содержит указание используемых пространств имен System, System.Collections и определения классов: System.Collections и определения классов: class A {public virtual void Show(){Console.Write("SOS! ");}} class B:A {public new void Show(){Console.Write("ВСЕМ! ");} } class C:A {public override void Show(){Console.Write("УРА! "); } } В классе Program определен метод Main, в теле которого находится код: ArrayList a = new ArrayList(); a.Add(new A()); a.Add(new B()); a.Add(new C()); for (int i=0; i<a.Count; i++) if(a[i] is A) ((A)a[i]).Show(); Укажите результат вывода после запуска программы на компиляцию и выполнение: