База ответов ИНТУИТ

Объектное программирование в классах на C# 3.0

<<- Назад к вопросам

Программист написал фрагмент кода, при компиляции которого возникла ошибка

interface IC<C> { C Method(C arg);  }    class A2<B> : IC<C> { public C Method(C arg) { return arg; } } 

У программиста есть несколько версий причины возникновения ошибки. Укажите, какая из них верна:

(Отметьте один правильный вариант ответа.)

Варианты ответа
ошибка состоит в том, что класс А2 , являющийся наследником интерфейса, может иметь в качестве родовых параметров только параметры интерфейса
я написал правильный код, это ошибка в работе компилятора
ошибка состоит в том, что класс А2 , являющийся наследником интерфейса, обязан включить в состав своих параметров все параметры интерфейса(Верный ответ)
Похожие вопросы

Программист написал фрагмент кода, при компиляции которого возникла ошибка

class A1<A1, B> { A1 a1; B b;} 

У программиста есть несколько версий причины возникновения ошибки. Укажите, какая из них верна:

Пусть дано объявление делегата

public delegate double DToD(double x); 

Дано объявление класса

public class Three{public double F(double x){return x * 2;}    public int F1(int x) { return x * 2; }	}

Укажите корректные объявления экземпляров делегата:

Пусть дано описание класса и структуры с одинаковым набором полей

public class One { public string s; public int n;public One(string s, int n) { this.s = s; this.n = n;}}public struct Two { public string s; public int n;public Two(string s, int n) { this.s = s; this.n = n;}}

Пусть в клиентском классе созданы объекты

One cx = new One("Петров", 5), cy = new One("Петров", 5), cz = new One("Миронов", 4);Two sx = new Two("Петров", 5), sy = new Two("Петров", 5), sz = new Two("Миронов", 4);int res = 0;

Отметьте операторы, не приводящие к ошибкам на этапе компиляции или выполнения:

Пусть дано описание класса и структуры с одинаковым набором полей

public class One { public string s; public int n;public One(string s; int n) { this.s = s; this.n = n;}}public struct Two { public string s; public int n;public Two(string s; int n) { this.s = s; this.n = n;}}

Пусть в клиентском классе созданы объекты

One cx = new One("Петров", 5), cy = new One("Петров", 5), cz = new One("Миронов", 4);Two sx = new Two("Петров", 5), sy = new Two("Петров", 5), sz = new Two("Миронов", 4);int res = 0;

Отметьте операторы, не приводящие к ошибкам на этапе компиляции или выполнения:

Пусть дано описание класса и структуры с одинаковым набором полей
public class One { public string s; public int n;public One(string s, int n) { this.s = s; this.n = n;}}public struct Two { public string s; public int n;public Two(string s, int n) { this.s = s; this.n = n;}}
Пусть в клиентском классе созданы объекты
One cx = new One("Петров", 5), cy = new One("Петров", 5), cz = new One("Миронов", 4);Two sx = new Two("Петров", 5), sy = new Two("Петров", 5), sz = new Two("Миронов", 4);int res = 0; 
В результате выполнения фрагмента кода
if (cx == cy) res = 1;           else if(sx.Equals(sy)) res = 5;           cx = cz;           sx = sz;           cz.n = 3; sz.n = 3;           if (cx.n == 3) res++;           else if (sx.n == 3) res+=2;
Какое значение получит переменная res?
Укажите, в каких фрагментах кода возникнут ошибки:
Укажите высказывания, истинные для интерфейса - класса, заданного с ключевым словом interface:
Укажите высказывания, истинные для интерфейса - класса, заданного с ключевым словом interface:
Укажите высказывания, истинные для интерфейса - класса, заданного с ключевым словом interface:

Пусть дано объявление делегата

public delegate double DToD(double x); 

В результате выполнения фрагмента кода

double res = new DToD(Math.Cos)(Math.PI);

произойдет следующее: