Further to John's answer this code snippet should show you what is going on.
namespace Dummy
{
public abstract class PureVirtualFunction
{
public abstract void Method();
}
public abstract class VirtualFunction
{
public virtual void Method()
{
}
}
public class PureVirtualFunction_Inherited : PureVirtualFunction
{
public override void Method()
{
}
}
public class VirtualFunction_Inherited_Base : VirtualFunction
{
}
public class VirtualFunction_Inherited_Overrides : VirtualFunction
{
public override void Method()
{
}
}
}