User Tools

Site Tools


in204:cpp:syntax:class:this

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;
}
in204/cpp/syntax/class/this.1570700296.txt.gz · Last modified: 2019/10/10 09:38 by bmonsuez