1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Mitglieder
  3. EnriqueS

Beiträge von EnriqueS

  • Instanzen von einer Klasse vergleichen

    • EnriqueS
    • 27. Februar 2007 um 13:30
    Zitat von phudy

    ...

    PHP
    bool cZahl::Equal(const cZahl & other) const {
        return ((Wert1 == other.Wert1) && (Wert2 == other.Wert2));
    }

    es gibt vl. noch eine elegantere methode um die equal - funktion zu implementieren, und zwar ohne, dass der code davon abhängig ist welche membervariablen in den einzelnen klassen tatsächlich stecken:

    bool cZahl::Equal(const cZahl & other) const {
    return !memcmp (this, &other, sizeof (cZahl)) ;
    }

    damit kann man auch sehr leicht klassen vergleichen die mehr als nur die 2 ints beinhalten, ohne, dass man dabei jedes mal die equal funktion verändern & erweitern müsste.

    ein nachteil dieser variante ist natürlich, dass sie i.A. nicht mehr funktioniert, wenn die klasse pointer (beispielsweise strings, ...) als membervariablen enhält!

    lg, ES

  • [C++] Pointerproblem (MyObject **)

    • EnriqueS
    • 6. Dezember 2006 um 20:01

    vl. lieg ich ganz daneben, aber wieso probierst du nicht

    Widget w = Widget((char **)(my_objects));

    oder falls du das static unbeingt brauchst

    Widget w = Widget((static char **)(my_objects));

    ?

    ich mach casts nie mit <> sondern ausschließlich mit (type *) - die <> notation ist mir ehrlich gesagt noch nie untergekommen - vl. reden wir jedoch von verschiedenen c++ dialekten..!?

    denk auch, dass das & da zuviel ist, da myobjects ja vom typ her auch als MyObject ** gesehen werdenkann..
    aber das merkst du dann eh realtiv schnell, wenn dus falsch machst wird die sache krachn

    lg

Rechtliches

Impressum

Datenschutzerklärung