Как вариант. Переносите таблицу прерываний в ОЗУ. В конструктор
класса UART передаёте его номер и создаёте объекты UART u1(1),
u2(2); Конструктор класса UART устанавливает свой обработчкик в
таблицу векторов прерываний при создании объекта. Можно и другие
варианты придумать, была бы необходимость. Но прокладка - самое
простое. Мир от её использования не перевернётся.