Здравствуйте Sasparella, Вы писали:
S>Здравствуйте Аноним, Вы писали:
А>>Подскажите пожалуйста ,есть ли возможность средствами MFC
А>>хранить данные в файле в виде дерева.
А>>Причем предполагаетса возможность добавления новых вершин.
S>В смысле сериалтзовать древовидную структуру?
S>Можно.
S>Например так- если узел дерева это объект , содержаший в себе массив указателей на потомки,
S>то достаточно определить функцию сериализации этого массива , после чего сериалтзоввывать себя и затем детей. Что в свою очередь сериализуеи дейтей и их детей и так далее.
S>Таим образом запись дерева будет такой
S>S>archive << pBaseObject;
S>
S>Чтение — аналогично.
S>Будут вопросы — поделюсь конкретными классами и подводными камушками.
S>Саша.
Спасибо. Это все конечно очень хорошо.
Но записать мне надо для того,чтобы через одну-две недели восстановить это
самое дерево.
Если записать как ты предлагаешь(если я тебя правильно понял)
class Vertex
{
public:
// .......
private:
//.......
std::vector<Vertex> * children;
};
А затем сериализовать вектора и вершины;
Но когда я попробую считать(после неодной перезагрузки) я не смогу
восстановить структуру дерева т.к.
сохраненные указатели на детей уже
не будут таковыми(узлы ведь не будут
восстановлены в то же самое место в памяти,или я чегото не понимаю?)
Как быт?
Заранее благодарен!