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

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

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

Здравствуйте. Помогите разобраться, почему студия выдает ошибку и подчеркивает красным там где создаются объекты
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Ex
{
    public class Program
    {        public virtual void voo()
        {
            Console.WriteLine("A");
        }
    }
 
    public class B : Program
    {
        public override void voo()
        {
            Console.WriteLine("B");
        }
    }
 
    public class C : B
    {
        public void voo()
        {
            Console.WriteLine("C");
        }
    }
    class Prog
    {
        public static void Main(string[] args)
        {
            Program aa = new Program();
            Program ab = new B();
            Program ac = new C();
 
            B ba = new Program(); //тут ошибка 
            B bb = new B();
            B bc = new C();
 
            C ca = new Program(); //тут ошибка
            C cb = new B();          //тут ошибка
            C cc = new C();
 
            aa.voo();
            ab.voo();
            ac.voo();
 
            ba.voo();
            bb.voo();
            bc.voo();
 
            ca.voo();
            cb.voo();
            cc.voo();
        }
    }
}
А тут наверное тоже необходимо сделать override?
public class C : B
    {
        public void voo()
        {
            Console.WriteLine("C");
        }
    }

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

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

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


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

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

7   голосов , оценка 4 из 5
Похожие ответы