Наследование классов - C# (182435)
Формулировка задачи:
Здравствуйте. Помогите разобраться, почему студия выдает ошибку и подчеркивает красным там где создаются объекты
А тут наверное тоже необходимо сделать override?
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();
}
}
}public class C : B
{
public void voo()
{
Console.WriteLine("C");
}
}Решение задачи: «Наследование классов»
textual
Листинг программы
// B - производный от Program - то есть часть справа от знака "=" неявно приводится к типу Program Program ab = new B();