Beiträge von daybyter im Thema „C: Emulation von Klassen“

    In C++ ist das eigentlich sehr identisch. Self ist hier der 'this' Pointer. Also ein Zeiger auf das aktuelle Objekt. Der Unterschied zwischen

    <object>.<function>() und <object-pointer>-><function>() ist halt, dass -> eine Abkürzung ist für

    *<object-pointer>.<function>()

    *<pointer> holt das Objekt, auf welches der Pointer zeigt, und danach kannst Du die Funktion aufrufen.

    Also:

    KlassenTyp meinObjekt; // Erzeuge ein Objekt vom Typ 'KlassenTyp'

    KlassenTyp * meinObjektPointer; // Erzeuge einen Pointer auf ein Objekt des Typs 'KlassenTyp'

    meinObjektPointer = & meinObjekt; // Hole die Adresse des Objekts 'meinObjekt'.

    int ergebnis = meinObjekt.rechneWas(); // Rufe eine Funktion von 'meinObjekt' auf

    int ergebnis = meinObjektPointer->rechneWas(); // Rufe eine Funktion über den Pointer auf 'meinObjekt' auf