[C/C++] Überladen von Operatoren

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von riverlove, 8. Dezember 2008 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 8. Dezember 2008
    Überladen von Operatoren

    Hey, ein Teil von einer Aufgabe von mir ist folgende:

    Code:
    * Überladen Sie die Multiplication zweier tlv_float
     * Variables gemäß der entsprechenden Regel auf 
     * der Seite 8 des Skripts Newton_AD.pdf
     * (1 Punkt)
     */
    tlv_float operator*(const tlv_float& x1, const tlv_float& x2) {
    
     /*-- YOUR PART OF CODE GOES HERE --*/
     
    
    }
    
    Die Regeln sind folgende (Auszug für Multiplikation):
    Code:
    Die arithmetischen Operationen und intrinsischen Funktionen werden wie folgt überladen (u, v und
    w bezeichnen Variablen, c bezeichnet Konstanten):
    
    u = v * w wird zu (u = v * w, u_punkt = v_punkt * w + v * w_punkt)
    u = c * w wird zu (u = c * w, u_punkt = c * w_punkt)
    u = v * c wird zu (u = v * c, u_punkt = v_punkt * c)
    
    Das Programm soll später automatisch differenzieren können. Dies ist eine Teilaufgabe von vielen, aber komme nicht klar mit überladen..

    Hat jemand ne Idee was ich da machen muss?! Danke und bw is ehrensache!
     
  2. 9. Dezember 2008
    AW: Überladen von Operatoren

    Was ist tlv_float für ein Typ?

    wenn tlv_float = float:

    Code:
    tlv_float operator*(const tlv_float& x1, const tlv_float& x2) {
    return (x1*x2);
    }
     
  3. 9. Dezember 2008
    AW: Überladen von Operatoren

    ja is float..

    und was hat dein code mit den genannten regeln zu tun?
     
  4. 9. Dezember 2008
    AW: Überladen von Operatoren

    Hmm also ich hoffe ich hab das jetzt richtig verstanden:

    x1 und x2 sind funktionen, wobei von ihnen die Ableitung ihres Produkts zurückgegeben wird. Beispiel: x1 = x²+2 x2=2x-3 ---> ergebnis = 6x²-6x+4 (hoffe das war jetzt richtig).

    Wenn das jetzt das Problem ist, dann brauchst du eigentlich nur einen wichtigen Ansatz: Du musst eine Funktion einbauen, die die Ableitung zu den Funktionen bildet (v-punkt hab ich mal als 1. ableitung von v interpretiert). Diese Funktion ist aber nicht leicht (kommt ja an ein Computer Algebrasystem ran). Deswegen musst du mal im Internet schauen, ob es dort was brauchbares gibt.
    Wenn du dann die abgeleiteten Funktionen hast, sollte die Multiplikation nach den regeln kein problem mehr sein (das ist ja alles schon gegeben).
    Wenn es sich nur um lineare Funktionen handelt, dann vereinfacht das die ganze Sache enorm.

    Achja und genaue Hausaufgabenlösungen (danach siehts hier nämlich aus) gibt es hier leider nciht (siehe Regeln)
     
  5. 9. Dezember 2008
    AW: Überladen von Operatoren

    hat sich erledigt! musste es heut morgen meiner dozentin schicken und habs heut nacht noch hinbekommen
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.