002
06.12.2004, 02:35 Uhr
enrico
|
Also erstmal danke das ich so spät noch Hilfe bbekomme, ich hab vergessen die Mitarbeiterklasse mit reinzustellen, also hier
C++: |
class Mitarbeiter{ // Definition der Mitarbeiter Klasse
private:
string name; // Mitarbeiterbezeichnung string vorname; string rolle; Mitarbeiter* nextm; // Zeiger auf nächsten Mitarbeiter
public:
Mitarbeiter(string n= "X", Mitarbeiter* ptr = NULL):name(n), nextm(ptr ~Mitarbeiter(void){} // Destruktor Mitarbeiter* getnextm(){return nextm;}// Liefert die Adresse des nächsten Mitarbeiters
string getmname(){return name;} // Liefert Mitarbeiternamen zurück string getvorname(){return vorname;} // Liefert den Mitarbeitervornamen string getrolle(){return rolle;} void setnextm(Mitarbeiter* n){nextm = n;} void setname(string n, string vn){name = n; vorname = vn;}// Zugriffmethoden auf priv. Element name void setrolle(string r){rolle = r;} void display(); // Ausgabe des Mitarbeites
friend class MList; };
#endif
|
Daher das getnextm(), liefert also den next-Zeiger eines Listenelements. Den Speicher wollte ich danach wieder mit delete(pop) freiräumen. Ich hab ne kleine Testmethode geschrieben, die mir die Liste nach dem Löschen eines Elements anzeigt und enn ich das letzte Element lösche gehts ja wie gesagt, ich weiß halt nur nicht wieso nicht bei den anderen.
Zu der Rückgabe, meinst du das so, dass ich das quasi als bool-Methode schreibe? Ich hab nämlich ne bool-Suchfunktion, die vor der Lösch-Methode aufgerufen wird um zu prüfen ob der MA überhaupt vorhanden ist und dann müsste es ja reichen nach dem Löschen vielleicht noch ne kleine Meldung oder so auszugeben, dachte ich mir. |