strcpy für integer
-
Hi
ich will einen Kopierkonstruktor erstellen für eine Objekt das ein int Array hat.
Stack::Stack(const Stack& field) { Stack(); // Std. Konstruktor strcpy(Array,field.Array); }
Das strcpy arbeitet nur mit char Arrays gibts eine Lösung für int Arrays????
MFG
Olimlad
-
statt strcpy kann man copy nehmen.
std::copy(array start,array ende,kopierziel)
-
Erstens kann man keine Konstruktoren aus anderen heraus aufrufen, die erste Zeile erstellt ein temporäres Objekt und zerstört es gleich wieder.
Zweitens: Wenn dein Array eine feste Größe hätte, würde es automatisch kopiert werden, ansonsten würdest du keinen Speicher allokieren.
Wenn ansonsten: Drittens, wenn du die Klasse nicht nur zum Lernen schreibst, nimmt man dafür einen std::vector als Element und konzentriert sich auf die eigene Aufgabe der Klasse, anstatt Kopierkonstruktoren zu schreiben (das ist in der Regel nur bei Low-Level-Klassen nötig); siehe Design von std::stack.