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.


Anmelden zum Antworten