this zeiger



  • Hallo miteinander

    habe einige Frage an euch, hoffentlich könnt ihr mir weiter helfen

    Vielen Dank im vorraus
    MFG AnfängerC++

    class Day
    {
       private:
       .................
    
       public:
    
       void Test(Day t)
       {
         int hour(t); //was heisst den das?
         hour = *this; //Ist t = hour?
         *this = t;
       }
    }
    


  • Hi!

    Da fehlt mir einiges an Quellcode um dir das mit Sicherheit erklären zu können!

    grüße



  • Damit das funktioniert, benötigst du einen Umwandlungsoperatoren von Day nach int (operator int()) - und dann sehe ich den Sinn der Funktion nicht wirklich:

    Day tag1,tag2;
    
    tag1.Test(tag2);
    /*
      this := &tag1
      t    := Kopie von tag2
    */
    
    void Day::Test(Day t)
    {
      int hour(t);   //hour wird per operator int() aus t initialisiert
      hour = *this;  //hour wird per operator int() aus *this reinititialisiert
      *this = t;     //kopiert t nach *this
    }
    


  • CStoll schrieb:

    Damit das funktioniert, benötigst du einen Umwandlungsoperatoren von Day nach int (operator int()) - und dann sehe ich den Sinn der Funktion nicht wirklich:

    Day tag1,tag2;
    
    tag1.Test(tag2);
    /*
      this := &tag1
      t    := Kopie von tag2
    */
    
    void Day::Test(Day t)
    {
      int hour(t);   //hour wird per operator int() aus t initialisiert
      hour = *this;  //hour wird per operator int() aus *this reinititialisiert
      *this = t;     //kopiert t nach *this
    }
    

    Ist hour = t?

    int hour(t); --> Hat hour gleiche Daten wie (t)?



  • anfängerc++ schrieb:

    Ist hour = t?

    int hour(t); --> Hat hour gleiche Daten wie (t)?

    Das kommt ganz darauf an, wie der Konvertierungsoperator definiert ist (wenn es überhaupt exisitiert).

    PS: Was soll die "Test()"-Funktion eigentlich machen?



  • Habe Test programm nicht hier, werde mich heute abend nochmals melden
    Danke


Anmelden zum Antworten