ik heb met het onderstaande programma een probleem.
Ik maak in mijn programma gebruik van "geschakelde lijsten"
dat wil zeggen
een begin met een pointer theForward*
een aantal listNodes met een pointer theForward* en een pointer TheObject*
(zeg maar een soort van array zonder maximum)
als object geef ik een class schaatser mee.
deze maak ik aan in de main met:
kan iemand mij vertellen waarom dit gebeurt?
hierin is uitslag de list. Het spreekt voor zich dat met add een nieuwe waarde wordt toegevoegd.
Schaatser zier er als volgt uit:
nu wil het probleem dat in de lijst wel iederekeer bij een instantie van schaatser die juiste "Time" wordt bewaard maar niet de juiste "naam" en "nat".
als ik ze namelijk weer uit de lijst opvraag wordt altijd de laatst megegeven naam en nationaliteit weergegeven.
de fout zit zo goed als zeker niet in de list classes. (hij haalt wel het juiste adres op, is aangeleverd door een leraar en werkt met classes zonder char*-tjes wel.)
opvragen van de variabelen gebeurt met uit een schaatser wordt gedaan met behulp van methodes als :
Ik maak in mijn programma gebruik van "geschakelde lijsten"
dat wil zeggen
een begin met een pointer theForward*
een aantal listNodes met een pointer theForward* en een pointer TheObject*
(zeg maar een soort van array zonder maximum)
als object geef ik een class schaatser mee.
deze maak ik aan in de main met:
code:
1
2
| while(...)
uitslag.add(*(new Schaatser(naam, nat, ritTijd))); |
kan iemand mij vertellen waarom dit gebeurt?
hierin is uitslag de list. Het spreekt voor zich dat met add een nieuwe waarde wordt toegevoegd.
Schaatser zier er als volgt uit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| // Schaatser.h
class Schaatser
{
public:
Schaatser(char*, char*, Time&);
Schaatser(Schaatser&);
Schaatser(void);
int operator ==(const Schaatser&);
long int operator <(const Schaatser&)const;
char* getNaam(void);
char* getNationaliteit(void);
Time getTime(void);
private:
char* naam;
char* nationaliteit;
Time tijd;
};
inline Schaatser::Schaatser(char* eenNaam, char* nat, Time& eenTijd):
tijd ( eenTijd)
{
naam = eenNaam;
nationaliteit = nat;
}
....... |
nu wil het probleem dat in de lijst wel iederekeer bij een instantie van schaatser die juiste "Time" wordt bewaard maar niet de juiste "naam" en "nat".
als ik ze namelijk weer uit de lijst opvraag wordt altijd de laatst megegeven naam en nationaliteit weergegeven.
de fout zit zo goed als zeker niet in de list classes. (hij haalt wel het juiste adres op, is aangeleverd door een leraar en werkt met classes zonder char*-tjes wel.)
opvragen van de variabelen gebeurt met uit een schaatser wordt gedaan met behulp van methodes als :
code:
1
2
3
4
| char* getNaam(void)
{
retrun naam;
} |