PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C++ Verständnisproblem


Markus77
2005-03-01, 17:14:58
Also ich beschäftige mich seit kurzem mit objektorientierter Programmierung unter C++. Das klappt soweit ganz gut. Leider habe ich da noch ein wenig Einstiegsschwierigkeiten.

Ich habe schon mit verketteten Listen und Bäumen gearbeitet, aber noch nie im Zusammenhang mit Klassen. Und irgendwie will der Verständnisfunke nicht überspringen.

Wie löse ich das am besten:

Nehmen wir an, ich habe eine Welt. Auf dieser Welt leben Menschen. Menschen haben die Eigenschaft zu kommen und zu gehen, wann sie wollen. Außerdem soll auf jeden Menschen direkt zugegriffen werden könne. Also erstelle ich zunächst eine Klasse Welt und eine Klasse Mensch. Hier ein Codefragment:

class Welt
{
private:
Mensch *pStart;
public:
void push (void);
void pop (void);
};
class Mensch
{
public:
Mensch *pNext;
};

Die Implemetation schenke ich mir mal. Das wäre das Erscheinen der Menschen als Stack.

Aber da gibt es doch sicher eine viel elegantere Lösung. Nur ich komm einfach nicht drauf.

maximAL
2005-03-01, 18:09:42
nun, ich würde die verkettete liste nicht direkt mit der klasse mensch implementieren, sonder dafür eine extra klasse schreiben, die jeweils einen zeiger auf einen menschen sowie einen zeiger auf das nächste objekt (also nicht auf einen menschen sondern ein listen-objekt) hat.
sowas wäre auch ne gute gelegenheit, ein template zu benutzen, falls dir das schon was sagt.
alternativ kannst du auch eine list aus der standard-bibliothek benutzen. wesentlich bequemer, aber du lernst natürlich nicht so viel (clicky (http://www.cppreference.com/)