Objektreferenz übergeben
-
Hi! Ich brauch Hilfe!
Ich möchte gerne einem Konstruktor eine Referenz auf ein
Objekt übergeben. Ich hab jetzt schon die ganze Zeit probiert,
aber ich brings nicht zusammen. Ich hab ein totales Blackout.Also so in etwa schaut es aus:
Klasse Device
Device::Device (Port *port) { this->port = port; Encoder *enc = new Encoder (port); }Klasse Encoder
Encoder::Encoder (Port *port) { this->port = port; }Im Konstruktor Device erzeug ich ein Encoder Objekt, und diesem Konstruktor
möchte ich eine Referenz auf port übergeben.
Bitte helft mir. Danke schon mal.
-
Und das Problem ist? Du weisst nicht wie man die Referenzen initialisiert, im Gegensatz zu Zeigern?
-
Wenn ich die Methode Open() von Port aufrufe, müsste der Port
offen sein. In der Klasse Encoder ist der Port aber noch geschlossen,
obwohl ich ja eine Referenz übergeben habe??mfg
-
fritze schrieb:
Im Konstruktor Device erzeug ich ein Encoder Objekt, und diesem Konstruktor
möchte ich eine Referenz auf port übergeben.
Bitte helft mir. Danke schon mal.Dann solltest du auch wirklich das machen was du da beschreibst.

Encoder::Encoder (Port *port)=>
Encoder::Encoder (Port& port)
-
-
fritze schrieb:
Wenn ich die Methode Open() von Port aufrufe, müsste der Port
offen sein. In der Klasse Encoder ist der Port aber noch geschlossen,
obwohl ich ja eine Referenz übergeben habe??mfg
Um das zu beurteilen, müssten wir noch mehr sehen von Deinem Code.
Wie ist z.B. Device::port definiert ? als "Port"/"Port&"/"Port*"/ ???Gruß,
Simon2.
-
Hab jetzt den Fehler entdeckt. Ich hab nur ein Problem
mit der Schnittstelle gehabt.
Aber trotzdem danke für eure Bemühungen.
mfg