Mehrere Klassen, Zugriff außerhalb Klasse?
-
Wo hast Du von Compiler welche Fehlermeldungen erhalten? Sollen wir in die Glaskugel schauen, um
Dir zu helfen?
-
@MethodMan2025 sagte in Mehrere Klassen, Zugriff außerhalb Klasse?:
Ich habe mit VisualParadigm ein UML Diagramm erstellt.
Dort habe habe ich mehrere Klassen, die eine Kompositionsbeziehung haben.
Im Programm kann man aus dem Diagramm einen C++ Code erstellen lassen.
Dies habe ich auch gemacht. Im Code wird die Kompositionsverbindung als Zeiger-Objekt umgesetzt.Nun habe ich einfach mal versucht, aus der Systemklasse (Automat) aus, auf die public Methode der Klasse Display mit dem Zeiger-Objekt vom Typ Display, welches in der Klasse Automat erstellt wurde zuzugreifen bzw. die Methode anzeigen( ) aufzurufen.
Ich würde diese automatisch generierten Klassen nicht verwenden. Das Diagramm schon, aber dann die dortigen Kassen erst mal selbst schreiben, bis man versteht wie sie funktionieren.
-
@zeropage danke für dein Vorschlag, werde es auch so machen.
@mgaeckler Habe den Code bereinigt und neu erstellen lassen, da mittlerweile durch das ständige Versuchen unzählige Fehler angezeigt wurden.
Jetzt wird nur noch: Der Bezeichner "dis" ist nicht definiert. "dis": nichtdeklarierter Bezeichner angezeigt.Ich wollte einfach mal kucken, wie Komposition, Aggregation, Assoziation im Code umgesetzt werden und wie man von der Systemklasse aus, auf die Methoden der anderen Klassen zugreifen kann.
Dafür werden z.T. Objekte bzw. Zeiger-Objekte in der Systemklasse erstellt, mit welcher man Zugriff auf die public Methoden der anderen Klassen hat.
-
Dein in "Automat.cpp" geschriebener Code hat bisher nichts mit der in "Automat.h" deklarierten Klasse "Automat" zu tun (außerdem ist diese Klasse bisher ziemlich sinnlos, da alle Member als
private
deklariert sind, d.h. von außen gar kein Zugriff darauf stattfinden kann -> du solltest mindestens einen Konstruktor sowie Getter-Methoden definieren).Die
main
-Funktion solltest du in eine eigene Datei auslagern (meist benutzt man dafür dann "<projektname>.cpp" oder eben "main.cpp").Nach welchem Buch lernst du denn C++?
-
@Th69 ich arbeite zurzeit mit keinem Buch.
Es wäre super, wenn ich ein paar fertige UML Projekte finden könnte, wo das UML Klassendiagramm und der dazugehörige Code gezeigt wird.
Wie gesagt, mich interessiert eigentlich nur der Zusammenhang, wie bestimmte Klassendiagramme konkret im Code umgesetzt werden.Wäre sehr dankbar, wenn jemand mir eine Quelle nennen könnte.
-
eigentlich beschäftigt man sich mit sowas, bevor man mit c++ anfängt.
-
@Wade1234 sagte in Mehrere Klassen, Zugriff außerhalb Klasse?:
eigentlich beschäftigt man sich mit sowas, bevor man mit c++ anfängt.
Warum? Ich hab' keinen Tau von UML.
-
@Swordfish sagte in Mehrere Klassen, Zugriff außerhalb Klasse?:
@Wade1234 sagte in Mehrere Klassen, Zugriff außerhalb Klasse?:
eigentlich beschäftigt man sich mit sowas, bevor man mit c++ anfängt.
Warum? Ich hab' keinen Tau von UML.
nein du hälst ja auch nichts davon, kästchen zu malen. aber eigentlich geht es in dem buch auch um objektorientierte modellierung. und zumindest vorhin kostete es nur 6,80€, das ist weniger als eine schachtel zigaretten, oder einmal zu mc doof.
-
@Wade1234 sagte in Mehrere Klassen, Zugriff außerhalb Klasse?:
nein du hälst ja auch nichts davon, kästchen zu malen.
Ähm doch.
-
@Wade1234 sagte in Mehrere Klassen, Zugriff außerhalb Klasse?:
eigentlich beschäftigt man sich mit sowas, bevor man mit c++ anfängt.
Also man kann schon UML machen bevor man C++ macht. Aber IMO sollte man schon eine objektorientierte Programmierpsrache kennen bevor man UML macht. Weil das sonst halt ist wie wenn man nem Blinden versucht was über Farben zu erzählen.