using System;
public class A
{
public virtual void Show(){
Console.WriteLine("Calling A");
}
public class B:A
public override void Show()
Console.WriteLine("CAlling B");
public class Program
public static void Main()
B b=new B();
b.Show(); // return Calling B
A a=new B();
a.Show(); // return calling B
A aa=new A();
aa.Show(); // return calling A
//B aac=new A();
//aac.Show(); //Error Cannot implicitly convert type 'A' to 'B'. An explicit conversion exists (are you missing a cast?)