Vergleich von Objekten



  • Hallo!

    Ich möchte ganz verallgemeinert prüfen, ob 2 Objekte gleich sind.

    Gibt es da einen ==-Operator oder ähnliches?



  • Hallo

    Kannst du dir doch selber schreiben.

    chrische



  • Ja, es gibt einen (für alle eingebauten Datentypen und viele Klassen der C++ Standardbibliothek). Wenn du Objekte deiner eigenen Klassen vergleichen willst, mußt du selber einen op== schreiben (entweder als Methode der Klasse oder als (friend) globale Funktion):

    //a:
    class test1
    {
      ...
    public:
      bool operator==(const test1& other) const
      {
        //vergleiche die Elemente von *this mit denen von other
      }
    };
    
    //b:
    class test2
    {
      ...
      //eventuell unnötig, wenn op== mit den public Zugriffsmöglichkeiten implementiert werden kann
      friend bool operator==(const test2&,const test2&);
    };
    bool operator==(const test2& l,const test2& r)
    {
      //vergleicht die Elemente von l und r
    }
    


  • willst nur objekte der gleicehn klasse vergleichen?? also ob die inhalt gleich sind?


Anmelden zum Antworten