Objektorientierte Programmierung - Methodenaufruf
-
@manni66 Was genau meinst du jetzt damit also ich brauch ja für den Aufrufer 5 Argumente, oder nicht? Und die sind hier alle gesetzt... aber liegt es eventuell an der Methode?
-
@mmm_1482_ sagte in Objektorientierte Programmierung - Methodenaufruf:
Und wo da wirklich der Unterschied ist.
Ich habe nicht den Eindruck, dass du über die Frage ernsthaft nachgedacht hast.
-
@mmm_1482_ sagte in Objektorientierte Programmierung - Methodenaufruf:
Was genau meinst du jetzt damit
Du sollst die Fehlermeldung zeigen.
-
@manni66 "Keine Instanz des Konstruktors ""Auto::Auto"" stimmen mit der Argumentliste überein.
Darumhin habe ich einfach nur den dazukommenden Wert der abgeleitetenklasse gesetzt:
Auto p1={5};
Dann war zwar die Fehlermeldung weg, aber dann kommt folgende Fehlermeldung:
"Verweis auf nicht aufgelöste extrenes Symbol "public:_thiscall Fahrzeug::Fahrzeug (void)" (?? 0Fahrzeug@.......)"
-
@mmm_1482_ Warum hat der Konstruktor von Auto nur einen Parameter? Warum wird der Konstruktior von Fahrzeug nicht ausgerufen?
-
@manni66
also so gut es ging eben.
Konstruktoren sind zur erzeugung und Initialisierung von neuen Objekten zuständig. Da durch die Deklaration von private auf die Attribute kein Zugriff außerhalb der Klasse Möglich ist und man somit ohne einen Konstruktor keine neuen Objekte erzeugen und initialisieren kann.
Und getter und setter (so wurde gesagt) ist für einen kontrollierten Zugriff auf private Attribute, damit man dort die Attribute auch nutzen kann.
Aber irgendwie ist das für mich dasselbe
-
@mmm_1482_ sagte in Objektorientierte Programmierung - Methodenaufruf:
Aber irgendwie ist das für mich dasselbe
Das meinte ich mit nicht ernsthaft nachgedacht!
std::cout << fahrezeug.get_plaetze();
Wie geht das mit einem Konstruktor?
-
@manni66 weil doch eigentlich nur das Neue Attribut plaetze dazu gekommen ist. Muss ich die Attribute der Basisklasse auch wieder einfügen? ....
-
@mmm_1482_ sagte in Objektorientierte Programmierung - Methodenaufruf:
Muss ich die Attribute der Basisklasse auch wieder einfügen?
Natürlich. Du solltest dein Lernmaterial drimgend noch einmal durchgehen.
-
@manni66 hmm okay verstehe.. mit getter kann man werte ausgeben und mit konstruktoren nur Objekte erzeugen und initialisieren?
Okay hab jetzt nochmal die Unterlagen durchgeschaut und tatsächlich.. ich hab die seite irgendwie übersehen.Danke