Hi zusammen,
bin neu hier und auch Anfänger in C/C++ und hab da gleich mal nen Problem:
Im main Programm sollen u.a. folgende Zeilen stehen (hab mir das nicht ausgedacht, ist so vorgegeben):
.....
[01] Vfeld f1(4); // Dadurch wird ne Funktion aufgerufen und ein Feld mit länge=4 angelegt und anschließend vier Nullen hineingeschrieben, das funktioniert auch
[02] Vfeld f2 = f1; // Hier soll halt ein neues Feld angelegt werden und der Inhalt gleich dem f1 sein
.....
dazu gibt es in der Musterlösung folgendes:
[03] Vfeld & Vfeld:perator =(const Vfeld &b)
{....}
und genau da liegt mein Problem! Erstens wird durch Zeile [02] dieser Konstruktor [03] garnicht aufgerufen (sondern es wird anscheinend der Zeiger auf f2 gleich dem Zeiger von f1 gesetzt, und dadurch hat man ja 2 Zeiger auf das selbe Feld und nicht 2 Felder, denn wenn ich im nachhinein f2 ändere, ändert sich auch f1) und zweitens kann ich mit dem Konstruktoraufbau nicht allzuviel anfangen. Hoffe das kann mir mal jmd erklären.
Ich hoffe mal, dass ihr überhaupt versteht, was ich von euch will
Also danke schonmal für die Antworten
Sheggo
bin neu hier und auch Anfänger in C/C++ und hab da gleich mal nen Problem:
Im main Programm sollen u.a. folgende Zeilen stehen (hab mir das nicht ausgedacht, ist so vorgegeben):
.....
[01] Vfeld f1(4); // Dadurch wird ne Funktion aufgerufen und ein Feld mit länge=4 angelegt und anschließend vier Nullen hineingeschrieben, das funktioniert auch
[02] Vfeld f2 = f1; // Hier soll halt ein neues Feld angelegt werden und der Inhalt gleich dem f1 sein
.....
dazu gibt es in der Musterlösung folgendes:
[03] Vfeld & Vfeld:perator =(const Vfeld &b)
{....}
und genau da liegt mein Problem! Erstens wird durch Zeile [02] dieser Konstruktor [03] garnicht aufgerufen (sondern es wird anscheinend der Zeiger auf f2 gleich dem Zeiger von f1 gesetzt, und dadurch hat man ja 2 Zeiger auf das selbe Feld und nicht 2 Felder, denn wenn ich im nachhinein f2 ändere, ändert sich auch f1) und zweitens kann ich mit dem Konstruktoraufbau nicht allzuviel anfangen. Hoffe das kann mir mal jmd erklären.
Ich hoffe mal, dass ihr überhaupt versteht, was ich von euch will
Also danke schonmal für die Antworten
Sheggo