• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

eddie_gordo

[Resolvido] Classes em memoria secundaria

6 mensagens neste tópico

Boas...

Estou a fazer um trabalho em C++, simulando o funcionamento de uma linha do Metro. O enunciado pode ser visto aqui: http://www.dei.isep.ipp.pt/~cneves/TLP1_0506_2/Metro.htm

Já tenho praticamente tudo implementado, a unica coisa que me está a dar a volta à cabeça é a forma como vou conseguir guardar todas as classes, listas e listas dentro de classes e por aí, em memória secundária...

Alguém pode dar umas luzinhas? :P Se for necessário colocar aqui algum código avisem, sff...

Cumprimentos e obrigado desde ja pela disponibilidade.. :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas, não tenho a certeza do que vou dizer e não tenho tempo para confirmar a minha ideia (até pode ser um auténtico disparate).

Eu penso que se abrires os ficheiros de modo binário e escreveres directamente a classe no ficheiro, consegues gravar tudo no ficheiro.

Ficou a minha primeira ideia que veio à cabeça, cumpr. bk@ero  :cheesygrin:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas, não tenho a certeza do que vou dizer e não tenho tempo para confirmar a minha ideia (até pode ser um auténtico disparate).

Eu penso que se abrires os ficheiros de modo binário e escreveres directamente a classe no ficheiro, consegues gravar tudo no ficheiro.

Depende se tem apontadores ou não. Como diz que tem listas dentro de classes, suponho que tem apontadores. As listas têm apontadores de certeza... Por isso tens que guardar os valores de cada elemento das listas um a um e recriá-las quando leres do ficheiro.

Outro problema é a maneira como tens as listas dentro das classes. Se tiveres um objecto lista é mais complicado do que se tiveres um apontador para lista...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Creio que a serialização é a solução para o teu problema.

Vê mais sobre este assunto aqui:

http://www.parashift.com/c++-faq-lite/serialization.html

http://www.functionx.com/cpp/articles/serialization.htm

http://www.rrsd.com/boost/

Belos links! Tinha começado a experimentar uma solução para o problema que se assemelha a serialização, mas nada que se compare. Ainda nem tinha resolvido o problema dos apontadores.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado a todos pelas ajudas! Já entreguei o trabalho... ;) Nao usei serialização, apenas fui lendo os valores q tinha nos atributos das classes e gravando para um ficheiro de texto, separados por um caracter à escolha (usei o '#')... Dps, para ler novamente, foi só usar a função strtok da libraria string.h para poder ir buscar campo a campo e atribuir novamente os valores aos atributos das classes! :D:)

Cumprimentos a todos!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora