X>Гуглить на слово "сериализация". Опционально можно посмотреть паттерны builder и prototype.
Я извиняюсь за наглость, но всё равно остались вопросы по поводу конкретного применения.
Насколько я понимаю (глядя в mfc), сериализация — это что-то типа:
MyClass::Serialize(Archive& archive)
{
if(archive.IsStoring())
{
archive << my_data1;
archive << my_data2;
...
}
else
{
archive >> my_data1;
archive >> my_data2;
...
}
}
При нескольких форматах файла да, это может помочь — видимо, надо отнаследоваться от одного базового класса-архива и в классах-потомках сохранять в разные форматы.
Но как она мне поможет при нескольких вариантах сохранения? Когда в одно время надо сохранять my_data1 и my_data2, а в другое — my_data3, my_data4 и их сумму куда-то в третье место.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>