Создать такую иерархию классов A, B и C, чтобы код ниже компилировался и выводил текст "ABC"
static void Main(string[] args)
{
var b = new B();
var c = new C();
((A)c).PrintMessage();
((A)b).PrintMessage();
c.PrintMessage();
}
Подскажите как правильно построить наследование, а то постоянно ловлю
System.InvalidCastException
https://ideone.com/cUNAkG
class A { public virtual void PrintMessage() { Console.Write("A"); } }
class B : A { public sealed override void PrintMessage() { Console.Write("B"); } }
class C : A { public new void PrintMessage() { Console.Write("C"); } }
class B : A { ... }
class C : A { ... }
В декларациях методов PrintMessage в классах A, B и C Вам нужно будет использовать ключевые слова virtual, override и new соответственно.
Продвижение своими сайтами как стратегия роста и независимости