== operator



  • Ist nicht gerade eine große Aktion: 😃

    bool operator != (class & other)
    {
       return (*this == other) ? false: true;
    }
    


  • Mathias schrieb:

    Ist nicht gerade eine große Aktion: 😃

    bool operator != (class & other)
    {
       return (*this == other) ? false: true;   //finde diesen operator schlecht
    }
    

    arghl

    bitte so:

    bool operator !=(class& other)
    {
     return !operator==(other);  //operator == ist ja sicherlich auch überladen
    }
    


  • @ser1al
    Ich wollte eigentlich nur das Prinzip aufzeigen nicht ein bis ins letzte optimierten Code.



  • Hi,

    da der == Operator bereits implementiert ist, hab ich's halt einfach mal ausprobiert. Der Compiler hat nicht gemeckert und es läuft auch.

    Trotzdem, eure Versionen wären natürlich auch einfach.

    danke,
    mvp



  • Hast du dich mit dem Debugger in den ==-Operator reingestellt?



  • ser1al schrieb:

    bitte so:

    bool operator !=(class& other)
    {
     return !operator==(other);  //operator == ist ja sicherlich auch überladen
    }
    

    Bitte nicht so.

    Denn op== und somit auch op!= passen besser global statt Member. Und wenn es denn als Member sein muss, beachte man wenigstens const-correctness.

    Somit sieht der op!= idR so aus:

    bool operator!=(Class const& objA, Class const& objB)
    { return !(a==b); }
    


  • Shade Of Mine schrieb:

    ser1al schrieb:

    bitte so:

    bool operator !=(class& other)
    {
     return !operator==(other);  //operator == ist ja sicherlich auch überladen
    }
    

    Bitte nicht so.

    Denn op== und somit auch op!= passen besser global statt Member. Und wenn es denn als Member sein muss, beachte man wenigstens const-correctness.

    Somit sieht der op!= idR so aus:

    bool operator!=(Class const& objA, Class const& objB)
    { return !(a==b); }
    

    hast natürlich recht! 👍



  • blöde Frage: hat das

    Class const& objA
    

    ie gleiche Bedeutung/Wirkung wie

    const Class& objA
    

    ? Ist mir nämlich noch nie untergekommen...



  • pumuckl schrieb:

    blöde Frage: hat das

    Class const& objA
    

    ie gleiche Bedeutung/Wirkung wie

    const Class& objA
    

    ? Ist mir nämlich noch nie untergekommen...

    glaub schon



  • Das ist das gleiche. Bei Referenzen gibts nur eine Sort von Konstanten. Bei Pointern kommt es drauf an was rechts und was links vom Sternchen steht.


Anmelden zum Antworten