Kursinhalt
C++ OOP
C++ OOP
Das Schlüsselwort This
Das this
-Schlüsselwort hat eine besondere Bedeutung im Kontext der objektorientierten Programmierung (OOP). Es bezieht sich auf die aktuelle Objekt-Instanz. Zu verstehen, wie dies funktioniert, ist entscheidend für das effektive Management des Objektzustands und den Zugriff auf Mitgliedsvariablen und -funktionen.
Das Verständnis des this-Schlüsselworts
Wenn eine Mitgliedsfunktion aufgerufen wird, erhält sie implizit einen Zeiger auf das Objekt, das sie aufgerufen hat. Dieser Zeiger ist über das this
-Schlüsselwort zugänglich. Das this
-Schlüsselwort ermöglicht es Mitgliedsfunktionen, auf die Mitgliedsvariablen und Mitgliedsfunktionen des aktuellen Objekts zuzugreifen.
Example
#include <iostream> class Example { public: Example* get_address() { return this; } }; int main() { Example obj; std::cout << &obj << std::endl; std::cout << obj.get_address() << std::endl; }
Wenn Sie den Punktoperator (.
) verwenden, um auf Membervariablen oder Memberfunktionen innerhalb einer Klasse zuzugreifen, zeigt der this
-Zeiger implizit auf das Objekt, für das die Memberfunktion aufgerufen wird. Dies ist in verschiedenen Szenarien oft wertvoll und wird häufig verwendet, um Mehrdeutigkeiten in Variablennamen zu vermeiden.
Example
#include <iostream> class Example { public: void multiply(int number) { number *= number; } int number; }; int main() { Example obj; obj.number = 2; obj.multiply(5); std::cout << obj.number; }
Hinweis
Der Wert des Attributs hat sich nicht geändert, weil das Programm nicht unterscheidet, auf welche Zahl wir uns beziehen, da sie denselben Namen haben.
Hier können wir das this
-Schlüsselwort verwenden, da es auf das aktuelle Objekt als Zeiger zeigt. Um auf seine Attribute zuzugreifen, müssen wir den ->
-Operator verwenden.
main
#include <iostream> class Example { public: void multiply(int number) { this->number *= number; } int number; }; int main() { Example obj; obj.number = 2; obj.multiply(5); std::cout << obj.number; }
Die Verwendung des this
-Schlüsselworts ist eine weit verbreitete Praxis in verschiedenen Szenarien. Es wird häufig verwendet, insbesondere in großen Klassen, um anzuzeigen, dass eine Variable ein Mitglied der Klassen ist und kein externer Parameter oder ein Argument.
Danke für Ihr Feedback!