I have below codes,
First code:
{
public virtual void Test()
{
Console.WriteLine("Parent Test");
}
}
class Child : Parent
{
public override void Test()
{
Console.WriteLine("Child Test");
}
static void Main()
{
Child c = new Child();
c.Test();
}
}
Output: Child Test
Second code:
{
public void Test()
{
Console.WriteLine("Parent Test");
}
}
class Child : Parent
{
public void Test()
{
Console.WriteLine("Child Test");
}
static void Main()
{
Child c = new Child();
c.Test();
}
}
Output: Child Test
I can able re-implement a function in child class without using virtual and override. Second code also gives same output then why I should virtual and override?