Konstruktoren



  • Hi !!!

    Da mir hier schon so oft auf meinem Weg beim Lernen der C++ Sprache sehr gut geholfen werden konnte 👍 , so stelle ich hier noch eine weitere Frage rein.
    Ich bin online auf folgenden Konstruktor gestossen:

    class matrix {
    private:
      int n;
    public:
      matrix(const matrix& m) : n(0) { *this=m; }
    ...
    }
    

    Dieser Konstruktor ist mir unklar. Die, die ich bisher beim C++ lernen kennengelernt habe waren beispielsweise in dieser Form:

    class datum {
    private:
      int tag, monat, jahr;
    public:
      datum(int T = 0, int M = 0, int J = 0) {tag = T; monat = M; jahr = J; }
    ...
    }
    

    Konstruktoren dieser Art verstehe ich, doch den oben von der Matrix nicht.
    Einerseits ist mir da unklar was dieser Doppelpunkt da soll und andererseits was da für eine Matrix konstruiert wird. Auch verstehe ich das n(0) hinter dem Doppelpunkt nicht.
    Ich wäre Euch sehr dankbar, wenn Ihr auch diese Unklarheit beseitigen könntet.



  • Hi,

    das ist ein Kopierkonstruktor. Er erstellt eine Kopie aus einer vorhandenen matrix:

    matrix m1;
    
    matrix m2(m1);
    

    http://www.cpp-tutor.de/cpp/le12/le12_02.htm
    http://tutorial.schornboeck.net/bigthree.htm

    MfG

    GPC



  • Das ist eine Initialisierungsliste. Such mal in deinem Buch danach.



  • Super.
    Vielen Dank 🙂
    Wenn man weiss, wonach man suchen muss, dann ist es nicht so schwer 😉


Log in to reply