000
27.03.2019, 20:38 Uhr
melli179
|
Hallo,
da mir bei meinem letzten Problem so super weiter geholfen wurde, versuch ich es gleich nochmal Warscheinlich schlagen viele bei dieser Frage die Hände über dem Kopf zusammen, weil es so simpel ist,aber ich beschäftige mich schon den ganzen Tag immer wieder damit und finde weder im Vorlesungsskript, noch in diversen Youtube Videos oder ähnlichem eine konkrete Antwort. Oder ich habe einfach ein Brett vor dem Kopf.
Ich verstehe einfach nicht genau wie ich einen Konstruktor implementiere.
Hier einmal ein Beispiel und mein Denkansatz dazu.
Den Kram wie #include irgendwas und so lass ich einfach mal weg,dass ist alles klar, und schreibe einfach mal einen Codeabschnitt.
C++: |
class Hund public: int alter; string name;
private: string rasse;
|
Bei der Implementierung muss jetzt ja der Konstruktor genauso heißen wie die Klasse, aber ich versteh nicht ob und wie ich dann die Variablen dahinter packen muss. Hab da so viel gesehen,aber es wär für mich nie verständlich.
Entweder:
C++: |
Hund::Hund ( int alter, string name, string rasse) { \\hier könnte ich beispielsweise\\ alter= 3 \\zuweisen\\}
|
oder muss ich die Variable die private ist weglassen, weil ich "von außen" eh kein Zugriff darauf habe? Und was passiert wenn ich z.b in public noch eine Funktion wie z.B void WiemachtderHund stehen hätte??
Ich blick da echt nicht ganz durch.
In der Probeklausur habe ich folgende Aufgabe, die ich auch absolut nicht lösen kann.
"Geben Sie den benötigten Code zur Implementierung des Konstruktors außerhalb der Klassendeklaration (z. B. in einer separaten Quellcodedatei) an."
C++: |
class RegularPolygon { public: RegularPolygon(unsigned int number_of_sides, float side_length); private: unsigned int number_of_sides_; float side_length_; };
|
Hierbei würde ich sagen die Implementierung lautet:
C++: |
RegularPolygon::RegularPolygon (unsigned int number_of_sides, float side_length) {}
|
Oder muss ich das was unter private steht auch miteinbinden? Und sind die Variablen in private andere als in public, weil am Ende noch ein"_" steht oder ist das nur ein Tippfehler des Professors?
Desweitern geht es in der Aufgabe um Vererbung, aber das habe ich denke ich verstanden, nur das mit der blöden Implementieren wird mir einfach nicht klar.
Vielen, vielen Dank im vorraus!!! |