Copy-Konstruktor Problem
-
Hi,
Folgendes Problem, ich hoffe jemand kann helfen:Ich habe folgenden (ungefaehren) code
class A{ ... private: vector<string> data; }; class B{ vector<string> data; };Nun moechte ich an einer bestimmten stelle folgendes machen:
b.data = a.data;Das Problem ist nur, die strings bei Klasse A wurden mit new aufm heap erstellt und ich habe keinen kopy-konstr. geschrieben, moechte aber den ganzen inhalt von A.data nach B.data kopieren. Wie wuerde denn dann der Copy-Konstr. aussehen?!?!
Danke.
-
Das Problem ist nur, die strings bei Klasse A wurden mit new aufm heap erstellt
Nein, dast du nicht.
-
der_held schrieb:
Das Problem ist nur, die strings bei Klasse A wurden mit new aufm heap erstellt
Nein, dast du nicht.
Was solln das heissen!?!? darfst du nicht oder hast du nicht?!?!?
(hast dich wahrscheinlich verschrieben!?)
danke.
-
Willst du nur die Vectoren oder 2 Instanzen der Klasse kopieren?
Die Vectoren haben bereits einen Copy-Ctor und für die Klassen sollte so eigentlich ein Standard Copy-Ctor generiert werden.
-
Was solln das heissen!?!? darfst du nicht oder hast du nicht?!?!?
Hast du nicht!!!!!
vector<string> data;Da hast du selbst garantiert nichts auf dem Heap allokiert. Das vector seine sachen auf dem Heap allokiert und die strings selbst ihre daten nochmal wo anders auf dem Heap ist offensichtich, da du keine eigenen Allokatoren angegeben hast.
Da du nicht's selbst auf dem Heap allokiert hast sehe ich nicht das Problem.
b.data = a.data;geht ntürlich nicht, da data privat ist (in beiden Klassen).