I don\'t really understand - when am I supposed to use virtual functions?I\'ll be glad if someone could explain it to me, thanks.
Given a base class:
class SomeBaseClass()
{
public virtual string GetName()
{
return "SomeBaseClass";
}
}
When you override it, you inherit the function
class SomeDerivedClass() : SomeBaseClass
{
}
So when you say:
SomeDerivedClass sdc = new SomeDerivedClass();
Console.WriteLine(sdc.GetName()); //outputs "SomeBaseClass"
GetName() returns "SomeBaseClass"
You can, however, override it.
class SomeDerivedClass()
{
public override string GetName()
{
return "SomeDerivedClass";
}
}
Here GetName() will now return "SomeDerivedClass"