Интерфейс без виртуализации2

А сколько всего параметров? Их юзер должен заводить?..

Не припомню где бы надо было много параметнов оперативно менять в большом количестве. А если это так, то капец от юзеров, задрючат вопросами.

У меня в проекте сейчас их чуть больше десятка:
SParametr *prm_temp_current,
*prm_temp_dq[SENSORS_COUNT],
*prm_temp_critical, // изменяемый
*prm_temp_set, // изменяемый
*prm_fan_rpm,
*prm_pwm_duty,
*prm_backligth_lvl, // изменяемый
*prm_reg_Kp, // изменяемый
*prm_reg_Ki, // изменяемый
*prm_reg_Kd, // изменяемый
*prm_pwm_min, // изменяемый
*prm_pwm_max; // изменяемый
Да и делаю я это для себя.
Оно все работает уже давно, просто мне захотелось на основе этого проекта c++ поизучать.

он писал

я никакой шаблонной функции в вашем коде не вижу.

Думаю, что если писать через шаблоны, код был бы немного (или много) короче.

А template<typename TScreen> struct SMenuItem я разве не шаблонным сделал?
В качестве TScreen может передаваться SScreenCustom или SScreen.

Значит не дорос я еще до них. Не могу придумать как тот-же SParametr или SScreen сделать на шаблонах.
Может спустя какое-то время и разберусь, тогда вернусь к этому проекту и переделаю его.

простите, что-то пропустил.
Да, это шаблоны конечно