Cursusinhoud
C++ OOP
C++ OOP
Het This-keyword
Het sleutelwoord this
in objectgeoriënteerd programmeren verwijst naar de huidige objectinstantie. Het biedt lidfuncties een pointer naar het object dat ze heeft aangeroepen, waardoor toegang tot de variabelen en functies van dat object mogelijk is.
Example.cpp
#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; }
Wanneer de punt-operator (.
) wordt gebruikt om lidvariabelen of lidfuncties binnen een klasse te benaderen, wijst de this
-pointer impliciet naar het object waarvoor de lidfunctie wordt aangeroepen. Dit is vaak waardevol in verschillende situaties en wordt veelal gebruikt om verwarring in variabelenamen te voorkomen.
Example.cpp
#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; }
Hier kunnen we het sleutelwoord this
gebruiken, aangezien het verwijst naar het huidige object als een pointer. Om toegang te krijgen tot de attributen, moeten we de ->
operator gebruiken.
main.cpp
#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; }
Het gebruik van het this
-keyword is een wijdverbreide praktijk in diverse scenario's. Het wordt vaak toegepast, met name in grote klassen, om aan te geven dat een variabele een lid is van de klassen en geen externe parameter of argument.
Bedankt voor je feedback!