[uquote="ARV",url="/forum/viewtopic.php?p=3313681#p3313681"]давайте вместо кучи нравоучений вы тут продемонстрируете, как это будет элегантно, конкретным кодом? а то на словах все Львы Толстые...[/uquote]
Не буду я за автора что-то решать - у меня была своя похожая задача где требовалось унифицировать поля которые я выводил на ЖК.
Если ему хочется плюсов, то я бы это делал так.
Я бы определил три вида абстрактных классов - входной, передающий/преобразующий, выходной. На основе материнского класса определяем всех возможных наследников.
Для входных - разные каналы ввода (цыфрове, аналоговые, булевые...). Для выходных и передающих аналогично.
Ну и вот имеем передающий класс, внутри содержащий указатели на объекты ввода, виртуальный метод преобразования, и указатель на выходной класс. Метод преобразования, по указателю смотрит что там за идентификаторы и вызывает соответствующий метод/преобразования. Ну да, без ифов не обойтись

.
Вообще топикстартер изобретает велосипед - среду визуального программирования, причем хочет упростить задачу - изобретаем устройства для умного дома? Чтобы юзер мог сам конфигурировать систему? Я с подобным работал когда-то (Альфа от Микрола) - насколько я помню, если выход дает флоат, то его невозможно было подключить к интовому входу. Надо было ставить блок приведения.
Есть у ОВЕНа программируемые реле и к ним среда OWENLogic. По моему там тоже надо приводить типы, иначе не "скомпилится".