Я немного запутался в использовании абстрактных классов в С#. В С++ имеет смысл определить шаблон, которому могут следовать классы, наследующие абстрактный класс. Но, в С# интерфейс не работает с той же целью?
Верно, что абстрактные классы могут иметь реализацию по умолчанию, которая не предоставляется интерфейсами. Так что, если реализация не требуется включать в базовый класс, лучше ли идти на интерфейсы?