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
12345678910111213#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
123456789101112131415#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
123456789101112131415#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!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Awesome!
Completion rate improved to 3.13
This-Nøgleordet
Stryg for at vise menuen
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
12345678910111213#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
123456789101112131415#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
123456789101112131415#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!