Kursusindhold
C++ OOP
C++ OOP
This-Nøgleordet
Nøgleordet this
i objektorienteret programmering refererer til den aktuelle objektinstans. Det giver medlemsfunktioner en pointer til det objekt, der har kaldt dem, hvilket muliggør adgang til objektets variabler og funktioner.
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; }
Når du bruger punktumoperatoren (.
) til at tilgå medlemsvariabler eller medlemsfunktioner inden for en klasse, peger this
-pointeren implicit på det objekt, som medlemsfunktionen kaldes for. Dette er ofte værdifuldt i forskellige scenarier og anvendes almindeligvis for at undgå tvetydighed i variabelnavne.
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; }
Her kan vi anvende nøgleordet this
, da det peger på det aktuelle objekt som en pointer. For at få adgang til dets attributter, skal vi bruge operatoren ->
.
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; }
Brugen af this
-nøgleordet er en udbredt praksis i forskellige scenarier. Det anvendes ofte, især i store klasser, til at angive, at en variabel er et medlem af klassen og ikke en ekstern parameter eller argument.
Tak for dine kommentarer!