Ergebnis 1 bis 6 von 6

Thema: operator= für double.operator= double

  1. #1
    Forum Guru Avatar von The User
    Registriert seit
    28.10.2007
    Ort
    Zwischen Pazifik und Atlantik...
    Beiträge
    4.044
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard operator= für double.operator= double

    Moin!
    Ich habe eine numerische Klasse programmiert.
    Gibt es nun eine Möglichkeit den operator= so zu definieren, dass ich eine double-variable mit meiner klasse setzen kann? denn operator= muss ja immer klassenelement sein. =-Operator wärepraktisch, weil ich verschiedene numerische typen verwenden möchte, und dann nicht je nach typ, komische funktionen aufrufen muss.
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Fortgeschrittene/r
    Registriert seit
    26.09.2005
    Ort
    Nürnberg
    Beiträge
    169
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Also ich versteh dein Problem nicht 100%ig. Ein Beispiel wäre hilfreich.

    Wenn ich es richtig verstanden habe soll sowas möglich sein:

    Code:
    YourClass inst;
    double temp = 3.4;
    
    inst = temp; // Variante 1
    temp = inst; // Variante 2
    Variante 1 ist ja klar. Der Operator muss als Methode implementiert sein.
    Für Variante 2 musst du eine globale Funktion definieren, die ein double und YourClass übergeben bekommt. Darin kannst du dann die nötigen Operationen ausführen.

  3. #3
    Forum Guru
    Themenstarter
    Avatar von The User
    Registriert seit
    28.10.2007
    Ort
    Zwischen Pazifik und Atlantik...
    Beiträge
    4.044
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    aber diese Funktion kann nicht operator= sein, oder?
    naja, dann werd ich so machen, habe eine methode double_value in der klasse, also temp = inst.double_value();
    schön wärs gewesen, danke!

  4. #4
    Fortgeschrittene/r
    Registriert seit
    26.09.2005
    Ort
    Nürnberg
    Beiträge
    169
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Doch, na klar kannst du den = Operator global überladen. Übergeben musst du nur einfach double und YourClass.

    Also:
    Code:
    double operator=(double a_dbl, const YourClass &a_class)
    {  /* ... */ }
    Hab ich jetzt so aber nicht getestet...

  5. #5
    Forum Guru
    Themenstarter
    Avatar von The User
    Registriert seit
    28.10.2007
    Ort
    Zwischen Pazifik und Atlantik...
    Beiträge
    4.044
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    operator= must be a non-static member-function.
    Mist, geht auch nicht, wenn ich als Rückgabetyp nicht double& sondern double oder void nehme, und es geht auch nicht, egal ob ich const oder nicht mache.
    Warum müssen diese Compiler immer genau mit dem Übereinstimmen, was in den Büchern steht!
    Achso:
    Was macht es für einen Sinn double a_dbl und nicht double& a_dbl zu übergeben, wenn man doch eine Übergebene Referenz setzen möchte?

  6. #6
    Fortgeschrittene/r
    Registriert seit
    26.09.2005
    Ort
    Nürnberg
    Beiträge
    169
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Ja natürlich macht das Sinn, ich hab das nur schnell hingeklatscht ohne nachzudenken.

    Code:
    double& operator=(double& a_dbl, const MyClass& a_class)
    { /* ... */ }
    Warum ich das so nicht überladen darf versteh ich jetzt nicht 100%ig. Aber im Prinzip ist Operatorüberladung nur syntaktischer Zucker, also bekommst du es auch ohne hin...

Ähnliche Themen

  1. Klasentemplate - operator[]
    Von The User im Forum Forum für alle anderen Programmiersprachen
    Antworten: 0
    Letzter Beitrag: 06.04.2008, 14:48
  2. Single Quotes oder Double? das ist hier die frage^^
    Von felixstoessel im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 21
    Letzter Beitrag: 18.01.2008, 16:37
  3. Splinter Cell 4: Double Agent - Wie hackt man?
    Von Rotkäppchen im Forum Computer - Internet Forum
    Antworten: 15
    Letzter Beitrag: 06.11.2007, 09:19
  4. Oder Operator
    Von Haacon im Forum Forum für alle anderen Programmiersprachen
    Antworten: 2
    Letzter Beitrag: 22.07.2007, 23:56
  5. DVD Rohling Double Layer mit Light Scribe?
    Von PatrickPaulsen im Forum Computer - Internet Forum
    Antworten: 9
    Letzter Beitrag: 09.06.2005, 10:25

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •