Avatar billede cblcbl Juniormester
20. oktober 2010 - 19:52 Der er 2 kommentarer og
1 løsning

klasse design + serialisering

Hej allesammen,
Jeg har kastet mig over at lære C++ efter at have lavet et par programmer i VB6 og Java, samt lidt VB.NEt og C#.
Nu drømmer jeg om at lege med de profesionelle drenge der koder C++.

Jeg har to spørgsmål i den forbindelse:

1)
Hvordan laver jeg et OOP design der sikrer at jeg ikke får redundans i mine data.
Jeg vil gerne lave en liste indeholdende objekter med postadressen på en række mennesker:

Jens Jensen
Hans Jensen vej 10
7777 Jenstrup.

Hvis bare jeg laver en klasse med følgende:
char[30] Navn;
char[30] Adresse;
char[30] Postnr og By;

Så får jeg jo det samme postnummer og by lagret mange gange?
Istedet kunne jeg måske lave en liste med postnumre og byer, som man så refererer til fra Adresse listen? eller hvad?

2)
Når jeg engang har fået fastlagt designet på ovenstående. Hvis jeg så gemmer, via serialisering, denne liste med adresser i en fil.
Vil jeg så kunne skrive en andet program, men samme klasse design, og så læse filen via det nye program, eller er filen "låst" til det program der har oprettet den?

Mvh

Claus
Avatar billede arne_v Ekspert
20. oktober 2010 - 21:13 #1
re 1)

Det er ikke anderledes i C++ end i Java og C#.

Du kan erstatte den char[30] med en PostOgBy* ...

Imidlertid er det ikke saa almindeligt at normalisere in memory data som database data.

re 2)

I C++ serialiserer man ikke paa samme maade som i Java og C#.

Du kan skrive data binaert til en fil uden problemer. Men i modsaetning til serialisering indeholder det ikke meta data.

Du kan skrive data ud i et tekst format f.eks. et XML format.
Avatar billede cblcbl Juniormester
21. oktober 2010 - 10:39 #2
Hej Arne,

Tak for de fyldestgørende svar. Så vil jeg arbejde videre herfra.

Iøvrigt har jeg oprettet et spørgsmål mere, måske du også har et svar på det?
http://www.eksperten.dk/spm/921860

Mvh
Claus
Avatar billede arne_v Ekspert
21. oktober 2010 - 18:54 #3
så smider jeg et svar her

og kigger på det andet
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester