Gravar objeto - C++

Fala pessoal!

Estou com um problema, sempre usei Java e fazia uso de Serializable para persistir dados em arquivo.

Estou com um probleminha aqui, estou tentando persistir uma árvore de indexação que já está pronta em arquivo.

O problema é o seguinte, eu tenho que gravar a árvore com todos os seus nós juntos, e só consigo gravar a estrutura do nó.

Ou seja, todas as estruturas apontadas não vão junto.

Código da Classe da Árvore

class treeIntAVL{
private:	
	nodeTreeInt *raiz;
	
public:	 
   //...
};

Código do nó da Árvore

class nodeTreeInt{
private:	
	int dado;
	nodeTreeInt *esq;
	nodeTreeInt *dir;
public:
   //...
};

Alguma luz?

Como você grava os ponteiros? Note que ponteiros são endereços e por definição eles não podem ser gravados “do jeito que estão”. Você precisa inventar um jeito de efetuar a serialização.

Outra maneira é usar um framework de serialização, como o Boost Serialization: http://www.boost.org/doc/libs/1_47_0/libs/serialization/doc/index.html

Mesmo que você não use o Boost Serialization, pode pegar a referência dos outros frameworks nessa mesma página que lhe indiquei.

Se você está usando o Qt, pode usar o framework de serialização do Qt.

Pois então, não posso usar nenhum framework, mas posso criar minha própria serialização.

Alguém sabe algum material para que eu possa me basear?