Я читаю какой-то код:
extern class MyClass : BaseClass { ... } MyInstance;
Имеет ли отношение extern к объявлению класса или экземпляру?
Instance. Классы не могут быть внешними.
Хотя код пахнет - этот фрагмент предполагает, что истинное объявление этого экземпляра использует отдельное определение класса. Плохая, плохая идея - определить класс дважды.