The code below produces error and does not compile. But when we remove override
keyword, it produces only warning, compiles and even does overriding.
Is there any logical explanation?
class Baseclass
{
public void fun()
{
Console.WriteLine("Hi ");
}
public void fun(int i)
{
Console.Write("Hello ");
}
}
class Derived : Baseclass
{
public override void fun()
{
Console.Write("Bye ");
}
}
class MyProgram
{
static void Main(string[] args)
{
Derived d;
d = new Derived();
d.fun();
d.fun(77);
Console.Read();
}
}