1

C++ Vergleichsoperator überladen

Frage von Consta Consta

Hi,

angenommen ich habe eine Klasse mit 3 Variablen. Wenn ich für diese Klasse den Vergleichsoperator überladen möchte, so muss ich ja in diesem alle 3 Variablen vergleichen.

Die Variablen: int i,j,k;

Wie sieht der Vergleichsoperator dazu aus?

bool operator== (...) {...}

Danke!

Fragen zu gleichen Themen finden

Antworten (1)

  • 1
    Antwort von ArchEnema ArchEnema

    bool operator== (const Klasse obj) { return obj.i == i && obj.j == j && obj.k == k; } const;

    "Klasse" ist der selbe Typ, den auch "diese" Klasse hat.

    Kommentar von ArchEnema ArchEnemaArchEnema

    Mist, das zweite const kommt natürlich vor den Funktionsrumpf. Und i.d.R. eher mit  Referenz statt Wert aufzurufen (performanter):

    bool Klasse::operator== (const Klasse &obj) const

    {

    return obj.i == i && obj.j == j && obj.k == k;

    }

     

    Kommentar von Consta ConstaConsta

    Super danke! Frage geklärt!

Diese Frage

Verwandte Fragen

Noch nicht den richtigen Rat gefunden?

Einfach und schnell viele hilfreiche Ratschläge von Deutschlands aktivster Ratgeber-Community erhalten!

Einfach und schnell einen Tipp erstellen und Ihren guten Rat mit anderen teilen!

Einfach und schnell ein Video hochladen und anschaulichen Rat an alle geben!

Die unter gutefrage.net angebotenen Dienste und Ratgeber Inhalte werden nicht geprüft. Die Richtigkeit der Inhalte wird nicht gewährleistet. Rechtliche Hinweise finden Sie hier.