Programm richtig??
-
Hi, ich habe mir jetzt das Thema Listen angeeignet und wollte wissen ob man dieses Programm als Listenprogramm bezeichnen kann und ob es noch Verbesserungsvorschläge gibt???
#include <iostream> #include <string> using namespace std; class CListe { public: char Name[50]; CListe* next; void Eingabe(); void Ausgabe(); }; void CListe::Eingabe() { cout<<"Bitte Namen eingeben: "; cin>>Name; } void CListe::Ausgabe() { cout<<"Die eingegebenen Namen: "<<Name<<endl; } int main() { CListe* neu; neu=new CListe; neu->Eingabe(); neu->next; neu->next=new CListe; neu->next->Eingabe(); neu->next->next=new CListe; neu->next->next->Eingabe(); neu->next->next->Ausgabe(); delete neu->next->next; neu->next->Ausgabe(); delete neu->next; neu->Ausgabe(); delete neu; return 0; }Danke im voraus....

-
Du hast Eingabe- und Ausgabemethoden für deine Klasse.
Zeit, die verwalteten Daten (Name) nach außen hin abzusichern. (nicht public)
-
Danke, habe ich jetzt gemacht. Gäbe es noch mehr Verbesserungsvorschläge, bezüglich der main Funktion??
-
deine klasse sollte Knoten heißen und da muß noch ne klasse Liste drumherum.
class Liste{ Knoten* anfang; ... };
-
TheBest schrieb:
Danke, habe ich jetzt gemacht. Gäbe es noch mehr Verbesserungsvorschläge, bezüglich der main Funktion??
int main() { CListe neu; neu.Eingabe(); neu.Eingabe(); neu.Eingabe(); while(!neu.IstLeer()){ neu.Ausgabe(); neu.HauWegDenLetzten(); } return 0; }
-
Hi volkard! Ich habe das mit der 2. Klasse nicht so richtig verstanden. Was würde mir die 2. Klasse bringen??
Ich habe es erstmal so weit wie möglich geändert...
class CListe { private: char Name[50]; public: CListe* next; void Eingabe(); void Ausgabe(); bool IstLeer(); void HauWegDenLetzten(); }; void CListe::Eingabe() { cout<<"Bitte Namen eingeben: "; cin>>Name; } void CListe::Ausgabe() { cout<<"Die eingegebenen Namen: "<<Name<<endl; } bool CListe::IstLeer() { if(next!=......) //wie könnte ich das am besten lösen?? { return true; } else { return false; } } void CListe::HauWegDenLetzten() { delete next; } int main() { CListe neu; neu.Eingabe(); neu.Eingabe(); neu.Eingabe(); while(!neu.IstLeer()) { neu.Ausgabe(); neu.HauWegDenLetzten(); } }