Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara La Parola Chiave This | Fondamenti della OOP in C++
OOP in C++

book
La Parola Chiave This

La parola chiave this nella programmazione orientata agli oggetti si riferisce all'istanza corrente dell'oggetto. Fornisce alle funzioni membro un puntatore all'oggetto che le ha invocate, consentendo l'accesso alle variabili e alle funzioni di quell'oggetto.

Example.cpp

Example.cpp

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

Quando si utilizza l'operatore punto (.) per accedere a variabili membro o funzioni membro all'interno di una classe, il puntatore this punta implicitamente all'oggetto per cui la funzione membro è chiamata. Questo è spesso utile in diversi scenari ed è comunemente impiegato per evitare ambiguità nei nomi delle variabili.

Example.cpp

Example.cpp

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

Qui possiamo utilizzare la parola chiave this poiché punta all'oggetto corrente come puntatore. Per accedere ai suoi attributi, è necessario utilizzare l'operatore ->.

main.cpp

main.cpp

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

L'utilizzo della parola chiave this è una pratica diffusa in diversi scenari. Viene spesso impiegata, in particolare nelle classi di grandi dimensioni, per indicare che una variabile è un membro delle classi e non un parametro o argomento esterno.

question mark

A cosa si riferisce la parola chiave this nella programmazione orientata agli oggetti?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 7

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

some-alt