megajohn (26.10.2010 00:58, просмотров: 1509)
Вопрос по C/С++. Интересует элегантное решение [+]
имеем
typedef struct
{
u8 par1;
u8 par2;
u8 par3;
u8 par4;
}Sdata_type1;
и
typedef struct
{
u8 par1;
u8 par4;
}Sdata_type2;
ну и соотвественно
Sdata_type1 data1;
Sdata_type2 data2;
имеется GUI-форма (написанная на BCB), с обьектами допустим CspinEdit1 и CspinEdit4
Нужно написать общую функцию которая бы по смыслу была бы идентична нижеприведенной
data2form( u8 in_data_type )
{
switch( in_data_type )
{
case 1:
CspinEdit1->Value = data1.par1;
CspinEdit4->Value = data1.par4;
break;
case 2:
CspinEdit1->Value = data2.par1;
CspinEdit4->Value = data2.par4;
break;
}
}
Так не катит, так как в реале имеются 4 вида данных с 20 полями и это как то громоздко
Хотелось бы увидеть элегантное красивое решение
Думал что на dynamic_cast будет то что надо, но потом понял что не в ту сторону смотрел