Konstruktor Vektor

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Konstruktor Vektor
Ich habe folgendes Problem bei der Vektor-Aufgabe: Laut public test sind die Werte im komponenten Array falsch. Weil das Problem im Konstruktor auftritt sind natürlich auch alle anderen Ergebnisse der Methoden falsch.
Ich weise im Konstruktor den double[] komponenten mit this.komponenten = komponenten; zu.

Hat das vielleicht etwas mit diesem Satz in der Aufgabenstellung zu tun: “Beachten Sie, dass
der Aufrufer das übergebene Array später unabhängig vom Vektor ändern können soll, ohne
dass dadurch der Vektor verändert wird – und umgekehrt!”?
Wenn ja, wie ist das gemeint?

Ich bin für jegliche Hilfe dankbar!


Ja, das hat mit diesem Satz zu tun.
Variablen mit Array-Datentyp sind Referenzen auf ein Array, das im Heap liegt.
So lässt du deine beiden Referenzen auf das gleiche Array im Konstruktor zeigen.
Wenn nun im PublicTest nach dem Konstruktoraufruf über die im Test vorliegende Referenz das Array verändert, verändern sich auch die Komponenten des Vektors.
Dein Vektor muss also ein “eigenes” Array haben, welches aber natürlich die gleichen Werte beinhalten soll wie das übergebene Array.


Ah ja das macht Sinn, danke dir! :slight_smile: