C#抽象类继承抽象类的问题

C#中抽象类继承抽象类时,重写的方法是不是要用abstract override
麻烦回答一下下面代码处有问号的地方


/*抽象类继承抽象类*/
using System;//
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace one
{
    //主方法,继承New中的IF接口
    public class MainClass
    {
        //主函数入口
        public static void Main(string[] args)
        {
            C b1 = new C();
            b1.Dd();
            Console.ReadKey();
        }       
    }
    public abstract class A
    {
        public abstract void Dd();
    }
    public abstract class B : A
    {
        //此处是否已覆盖基类方法?
        public abstract override void Dd();
    }
    public class C : B
    {
        //此外是重写A中的方法还是重写的B中方法?
        public override void Dd()
        {
            Console.WriteLine("rm");
        }
    }
}

1、//此处是否已覆盖基类方法?
覆盖了
2、//此外是重写A中的方法还是重写的B中方法?
重写的是B中方法,因为B中已经覆盖了A

这无所谓b还是a
因为两者都是抽象的
在C#里,有一种区分方法,但是必须是私有方法,叫做显式接口实现。
即,对于接口,如果有重名但是不同含义的个2方法,可以指定实现的是哪个的。