Kursinnhold
C++ OOP
C++ OOP
This-nøkkelordet
Nøkkelordet this
i objektorientert programmering refererer til den nåværende objektinstansen. Det gir medlemsfunksjoner en peker til objektet som påkalte dem, slik at de får tilgang til objektets variabler og funksjoner.
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 bruker punktumoperatoren (.
) for å få tilgang til medlemsvariabler eller medlemsfunksjoner innenfor en klasse, peker this
-pekeren implisitt til objektet som medlemsfunksjonen kalles for. Dette er ofte nyttig i ulike situasjoner og brukes ofte for å unngå tvetydighet i variabelnavn.
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 bruke nøkkelordet this
siden det peker på det nåværende objektet som en peker. For å få tilgang til dets attributter, må vi bruke 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; }
Bruken av nøkkelordet this
er utbredt i ulike scenarier. Det benyttes ofte, spesielt i store klasser, for å angi at en variabel er et medlem av klassen og ikke en ekstern parameter eller argument.
Takk for tilbakemeldingene dine!