Οbjektorientierung
-
Eine frage:
wenn ich beispielsweise 1 Objekt der klasse CKLASSE die als variable eine Zahl speichert und eine Methode besitzt um diese zu ändern besitze und außerdem 2 Objekte a und b von der Klasse ab erstelle die als variable das Objekt c besitzen. Wenn ich dann in a die Zahl in c aendere, dann ändert sich doch nicht c in b oder?
Was muss ich machen damit das passiert? Danke für eine Antwort
Niko
-
Wenn ich dich richtig verstanden habe, suchst du sowas wie geteilte Besitzverhältnisse. Dafür wäre deine Beschreibung aber verdammt kompliziert.
Ansonsten: Kannst du das nochmals deutlicher formulieren? Was ist die Klasse
ab? Was istc? Am besten illustrierst du dein Anliegen an einem kleinen Stück Code.
-
Hatte es leider eilig, tut mir leid:
Also es gibt eine Klasse KLASSEC und eine Klasse KLASSEAB:
class KLASSEC { private: int zahl; public: KLASSEC(); void setZahl(int z); int getZahl(); }; void KLASSEC::setZahl(int z) { zahl = z; } int KLASSEC::getZahl() { return zahl; } KLASSEC::KLASSEC() { zahl = 0; }class KLASSEAB { private: KLASSEC Objekt; public: KLASSEAB(KLASSEC nObjekt); void setZahl(int z); void getZahl(); }; void KLASSEAB::setZahl(int z) { Objekt.setZahl(z); } void KLASSEAB::getZahl() { cout << Objekt.getZahl(z); } KLASSEC::KLASSEC() { Objekt = nObjekt; }so in main erzeug ich 1 Objekt vom Typ KLASSEC und 2 Objekte vom Typ KLASSEAB die als Objekt das vorhin erzeugt objekt bekommen:
int main(void) { KLASSEC c; KLASSEAB a (c); //wie übergibt man noch mal Objekte an den konstruktor?? KLASSEAB b (c); a.setZahl(2); b.getZahl(); return 0; }So was kommt jetzt raus?
0 oder?
wie krieg ich da 2 raus?
-
Das bekommst du mit Hilfe von Referenzen.
Hier deine Klasse so modifiziert das sie eine Referenz verwendet:
class KLASSEAB { private: KLASSEC & Objekt; public: KLASSEAB(KLASSEC & nObjekt); void setZahl(int z); void getZahl(); }; void KLASSEAB::setZahl(int z) { Objekt.setZahl(z); } void KLASSEAB::getZahl() { cout << Objekt.getZahl(z); } KLASSEAB::KLASSEAB( KLASSEC & nObject ) : Objekt( nObjekt ) { }BR
-
Hatte ich fast vergessen:
Danke vielmals - und ein frohes Fest