Mam pewien problem, mając 3 klasy
class A
{
public virtual void Wypisz()
{
Console.WriteLine("A");
}
}
class B : A
{
public override void Wypisz()
{
Console.WriteLine("B");
}
}
class C : B
{
}
Problem polega na tym, że w klasie C mogę przesłonić (override) funkcję Wypisz() Dlaczego tak ? ;d Rozumiem, że klasa B dziedziczy po klasie A funkcję Wypisz(), jest wirtualna więc może ją przesłonić. Z kolegi klasa C rozumiem, że dziedziczy po B też funkcję Wypisz() ale nie jest ona wirtualna tylko przeładowana, więc dlaczego może ją przeładować? Na moje w klasie B powinna być funkcja wypisz z przydomkiem override bo przesłaniam oraz virtual jednocześnie by potomek mógł też przesłonić :(