Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
The This Keyword | Fundamentals of OOP
C++ OOP
course content

Contenido del Curso

C++ OOP

C++ OOP

1. Fundamentals of OOP
2. Constructors and Destructors
3. Encapsulation Overview
4. Inheritance Overview
5. Polymorphism Overview

book
The This Keyword

The this keyword holds a special significance within the context of object-oriented programming (OOP). It refers to the current object instance. Understanding how this works is crucial for effectively managing object state and accessing member variables and functions.

Understanding the this keyword

When a member function is invoked, it implicitly receives a pointer to the object that invoked it. This pointer is accessible through the this keyword. The this keyword allows member functions to access the member variables and member functions of the current object.

cpp

Example

copy
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; }

When you use the dot operator (.) to access member variables or member functions within a class, the this pointer implicitly points to the object for which the member function is called. This is often valuable in various scenarios and commonly employed to avoid ambiguity in variables names.

cpp

Example

copy
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; }

Note

The value of the attribute hasn't changed because the program doesn't differentiate which number we're referring to, as they share the same names.

Here, we can utilize the this keyword since it points to the current object as a pointer. To access its attributes, we must use the -> operator.

cpp

main

copy
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; }

Using the this keyword is a widespread practice across various scenarios. It's often employed, particularly in large classes, to signify that a variable is a member of the classes and not an external parameter or argument.

What does the `this` keyword refer to object-oriented programming?

What does the this keyword refer to object-oriented programming?

Selecciona la respuesta correcta

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 7
We're sorry to hear that something went wrong. What happened?
some-alt