Здравствуйте, rg45, Вы писали:
R>Ты предлагаешь альтернативный подход — объединить ранее независимые базовые классы таким образом, что функции, изначально имеющие разное число формальных параметров начинают иметь одинаковую сигнатуру и представлются одной и той же виртуальной функцией в базовом классе. Таким образом, число переданных фактических параметров уходит из-под контроля компилятора и становится заботой самих этих функций.
Не то что именно это предлагаю. Не зная как это будет использоваться, трудно что-то уж прям предлагать.
Можно ж например сделать bar невиртуальным шаблоном, требуемое количество аргументов хранить в базовом классе, там проверять, и уже потом звать виртуальный метод потомка. Такой вот NVI.
Всего лишь призывал ТС на другие варианты именно дизайна всего этого посмотреть.