Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (GNU/Linux, *NIX, *BSD und Co) » Einfachverkettete Liste

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
02.04.2014, 12:59 Uhr
~Sarah
Gast


Hallo an die Forumsmitglieder,

ich habe eine einfachverkettete Liste geschrieben. Das Programm funktioniert einwandfrei. Ich würde mich nur gern nochmal erkundigen, ob ich alles richtig gemacht habe bzw. ob man es anders machen sollte. Es geht mir nur um das Prinzip. Ich habe ein einfaches Programm geschireben, mit einer Klasse, in der nur ein Konstruktor, Destruktor, eine Einfügefunktion und ein Outputstream enthalten sind. In der Klasse existieren 2 Zeiger. Einer zeigt auf das aktuelle Element, das andere auf das Folgende. So zumindest habe ich das Prinzip mit der einfachverketteten Liste verstanden.

Wäre toll, wenn ihr mir ein Feedback geben könntet zu dem Programm:



C++:

#include <iostream>

using namespace std;


class Einfachliste{

    private:
    string vname;
    string nname;

    Einfachliste* beginn;
    Einfachliste* naechste;    

    public:
    void neuername(const char*, const char*);
    Einfachliste();
    ~Einfachliste();
    friend ostream& operator<<(ostream& os, const Einfachliste&);

};

Einfachliste::Einfachliste(){

    this->beginn = NULL;
    this->naechste = NULL;
    this->vname = "Eintrag";
    this->nname = "Eintrag";

}

Einfachliste::~Einfachliste(){}

void Einfachliste::neuername(const char* vname, const char* nname){

    Einfachliste* eintrag;
    eintrag = new Einfachliste;

    eintrag->vname = vname;
    eintrag->nname = nname;

    eintrag->naechste = beginn;
    this->beginn = eintrag;

}


ostream& operator<<(ostream& os, const Einfachliste& person)
{

    Einfachliste* out;
    out = new Einfachliste;
    out = person.beginn;

    while(out!=0)
    {
        os<<"VName: "<<out->vname<<", NName: "<<out->nname<<endl;
        out = out->naechste;
    }

    return os;

}


int main(){

    Einfachliste personenregister;

    const char* vnameper = "Albert";
    const char* nnameper = "Schroeder";

    for(int i = 0; i<5; i++){    
        personenregister.neuername(vnameper, nnameper);    
    }

    cout<<"Die Personenliste"<<endl;
    cout<<personenregister<<endl;


    return 0;
}



 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (GNU/Linux, *NIX, *BSD und Co) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: