|
| Problemer med List og ListIterator Fra : Hansen |
Dato : 30-03-03 10:38 |
|
Jeg får en compileringsfejl når jeg prøver at compilere følgende kode. Koden
er taget direkte fra en bog derfor kan jeg ikke forstå hvad der skulle være
galt med den. Der opstår 14 fejl, og de stammer alle sammen fra at den ikke
erklærer *_observers variablen pga. at den ikke kender List selv om headeren
er inkluderet. Jeg synes jeg har prøvet alt, men kan ikke gennemskue hvad
der er galt.
#include "Observer.h"
#include <iostream>
#include <List>
using namespace std;
class Subject
{
public:
virtual ~Subject();
virtual void Attach(Observer*);
virtual void Detach(Observer*);
virtual void Notify();
protected:
Subject();
private:
List<Observer*> *_observers; // ***** Det er her den siger fejlen opstår
******
};
void Subject::Attach (Observer* o)
{
_observers->append(o);
}
void Subject::Detach (Observer* o)
{
_observers->remove(o);
}
void Subject::Notify ()
{
ListIterator<Observer*> i(_observers);
for (i.First(); !i.IsDone(); i.Next())
{
i.CurrentItem()->Update(this);
}
}
Håber der er nogen der kan se hvad der er galt.
Hansen
| |
Morten Brix Pedersen (30-03-2003)
| Kommentar Fra : Morten Brix Pedersen |
Dato : 30-03-03 11:35 |
|
Den Sun, 30 Mar 2003 11:37:34 +0200, skrev Hansen:
> #include "Observer.h"
> #include <iostream>
> #include <List>
Du mener nok <list>. Og derudover generelt list med lille l i resten af
din kode, så det burde det virke.
- Morten.
| |
Hansen (30-03-2003)
| Kommentar Fra : Hansen |
Dato : 30-03-03 16:04 |
|
"Morten Brix Pedersen" <morten@wtf.dk> skrev i en meddelelse
news:pan.2003.03.30.10.34.37.498556@wtf.dk...
> Den Sun, 30 Mar 2003 11:37:34 +0200, skrev Hansen:
> > #include "Observer.h"
> > #include <iostream>
> > #include <List>
>
> Du mener nok <list>. Og derudover generelt list med lille l i resten af
> din kode, så det burde det virke.
Jeg har fundet kodeeksemplet i bogen Design Patterns, hvor det er skrevet
netop sådan. Desuden mener jeg ikke at list.h indeholder en list iterator?
Hansen
| |
Mogens Hansen (30-03-2003)
| Kommentar Fra : Mogens Hansen |
Dato : 30-03-03 16:41 |
|
"Hansen" <bluesboys@-remove.me-hotmail.com> wrote
[8<8<8<]
> Jeg har fundet kodeeksemplet i bogen Design Patterns, hvor det er skrevet
> netop sådan.
Hvad får dig til at eksemplerne i bogen skulle kunne oversættes direkte ?
Det er kun brudstykker af kode der viser strukturen (altså f.eks. Subject og
Observer).
Det vigtige ved design patterns er ikke koden, men strukturen.
Koden skal desuden typisk rettes lidt til i forhold til det aktuelle behov,
så en konkret implementering er end ikke særlig anvendelig.
> Desuden mener jeg ikke at list.h indeholder en list iterator?
Hvad er "list.h" i denne sammenhæng ?
Venlig hilsen
Mogens Hansen
| |
|
|