Наследование классов - C# (182435)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Помогите разобраться, почему студия выдает ошибку и подчеркивает красным там где создаются объекты
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace Ex
  7. {
  8. public class Program
  9. { public virtual void voo()
  10. {
  11. Console.WriteLine("A");
  12. }
  13. }
  14. public class B : Program
  15. {
  16. public override void voo()
  17. {
  18. Console.WriteLine("B");
  19. }
  20. }
  21. public class C : B
  22. {
  23. public void voo()
  24. {
  25. Console.WriteLine("C");
  26. }
  27. }
  28. class Prog
  29. {
  30. public static void Main(string[] args)
  31. {
  32. Program aa = new Program();
  33. Program ab = new B();
  34. Program ac = new C();
  35. B ba = new Program(); //тут ошибка
  36. B bb = new B();
  37. B bc = new C();
  38. C ca = new Program(); //тут ошибка
  39. C cb = new B(); //тут ошибка
  40. C cc = new C();
  41. aa.voo();
  42. ab.voo();
  43. ac.voo();
  44. ba.voo();
  45. bb.voo();
  46. bc.voo();
  47. ca.voo();
  48. cb.voo();
  49. cc.voo();
  50. }
  51. }
  52. }
А тут наверное тоже необходимо сделать override?
Листинг программы
  1. public class C : B
  2. {
  3. public void voo()
  4. {
  5. Console.WriteLine("C");
  6. }
  7. }

Решение задачи: «Наследование классов»

textual
Листинг программы
  1.  
  2. // B - производный от Program - то есть часть справа от знака "=" неявно приводится к типу Program
  3. Program ab = new B();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы