This is an old revision of the document!
Le pointeur this
Dans une fonction membre, le mot clé this
désigne le pointeur faisant référence à l'instance de l'objet qui est à l'origine de l'appel de la méthode.
Disposer de la référence sur l'objet dans la méthode est principalement pour les usages suivant :
lever l'ambiguité sur un conflit entre des noms de fonctions ou de champs, notamment quand il y a une fonction ou un champ qui est défini plusieurs fois dans des contextes différents, cela permet de préciser que l'on souhaite accéder au champ ou à la méthode défini dans la classe en préfixant le nom du membre ou de la méthode par
this→
.
bool Value::is_equal(const A& anotherValue) const
{
return this->m_value== anotherObject.m_value;
}
permettre à la fonction de retourner une référence à l'objet, soit sous la forme d'un pointeur, soit au contraire sous la forme d'une référence.
Value& Value::operator+=(const A& anotherValue)
{
this->m_value += anotherValue.m_value;
return *this;
}
peremttre de dupliquer l'objet en appelant un constructeur qui attend une référence à l'objet ou de passer la référence de l'objet à une fonction qui attendrait une telle référence.
Value& Value::operator++(int)
{
Value value(*this);
this->m_value ++;
return value;
}