C++ Variables Membres

Considérer la classe suivante:

class A
{
  A();
  int number;
  void setNumber(int number);
};

Vous pourriez mettre en œuvre setNumber' de 3 façons:

Méthode 1: Utilisez le pointeur 'this'.

void A::setNumber(int number)
{
  this->number = number;
}

Méthode 2: Utiliser l'opérateur de résolution de portée.

void A::setNumber(int number)
{
  A::number = number;
}

Méthode 3: au Lieu de cela, désigner toutes les variables de membre avec 'm' ou '_' (c'est ma méthode préférée).

void A::setNumber(int number)
{
  mNumber = number;
}

Est-ce juste une question de préférence personnelle, ou est-il un avantage pour le choix d'une méthode particulière?

Pourquoi tout est-il privé?
C'est un exemple, pour des raisons de simplicité.
La troisième. Il n'y a pas besoin de toujours utiliser this-> en C++, sauf si vous avez affaire à un basé sur un modèle de la classe de base. Laissez le verbose bruit de Java et PHP.
Méthode 4: éliminer les setters en faveur de la fourniture de plus haut niveau de l'exploitation (si, bien sûr, ce n'est pas toujours pratique).
Merci pour toutes les réponses de tout le monde! Je souhaite que je pourrais accepter toutes les réponses à vos questions. @JerryCoffin: fait vraiment bon sens, mais, comme vous l'avez mentionné, ce n'est pas toujours pratique.

OriginalL'auteur Julian | 2012-04-17