Kursinnehåll
C++ OOP
C++ OOP
Nyckelordet This
Nyckelordet this
i objektorienterad programmering syftar på det aktuella objektets instans. Det tillhandahåller medlemsfunktioner med en pekare till det objekt som anropade dem, vilket möjliggör åtkomst till det objektets variabler och 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 använder punktoperatorn (.
) för att komma åt medlemsvariabler eller medlemsfunktioner inom en klass, pekar this
-pekaren implicit på det objekt för vilket medlemsfunktionen anropas. Detta är ofta värdefullt i olika situationer och används vanligtvis för att undvika tvetydighet i variabelnamn.
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; }
Här kan vi använda nyckelordet this
eftersom det pekar på det aktuella objektet som en pekare. För att komma åt dess attribut måste vi använda operatorn ->
.
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; }
Att använda nyckelordet this
är en utbredd praxis i olika scenarier. Det används ofta, särskilt i stora klasser, för att ange att en variabel är en medlem av klassen och inte en extern parameter eller argument.
Tack för dina kommentarer!