2009-05-21 6 views
0

Le tableau suivant indique la meilleure façon de déterminer le type d'accès des variables membres d'une classe que je crée (désolé si cette table est difficile à voir, c'est la même chose tableau illustré http://www.cplusplus.com/doc/tutorial/inheritance/)?déterminer le type d'accès des variables membres d'une classe

Access      public protected private 
members of the same class  yes  yes   yes 
members of derived classes yes  yes   no 
not members     yes  no   no 
+3

Pourquoi le demandez-vous? Ne pas croire le tutoriel? –

+0

Maintenant, la table s'aligne. Oui. –

+0

Nikolai: Je ne sais pas quelle est la méthode la plus simple pour m'aider à décider. Martin: comment as-tu aligné la table? – stanigator

Répondre

1

La table est correcte, si c'est ce que vous demandez. Ce qu'il dit en mots, c'est que vous pouvez toujours accéder aux variables membres de la classe dans laquelle votre méthode est. Si la variable membre est définie dans une classe parente, vous ne pouvez y accéder que si la variable membre est protégée ou publique. Si vous êtes en dehors de la classe, vous ne pouvez accéder qu'aux variables membres publiques.

Il n'y a pas de "meilleure façon" - ce sont les règles présentées de manière raisonnable.

1

Vous devez ajouter les classes d'amis/méthodes là-bas, mais l'amitié est clair: en C++ amis peuvent toucher vos parties intimes.

+0

C'est marrant ;-) – lothar

+0

Pas à moi, cependant :) –

0

Votre meilleur pari est d'apprendre la signification des mots-clés publics, protégés et privés. Si la table vous aide à apprendre cela, utilisez-la de toute façon; c'est correct. Si vous voulez être un programmeur C++ efficace, cela devrait être aussi facile que de respirer.

0

C'est correct, mis à part les amis. Cela étant dit, pour toute classe qui est plus qu'une structure de type C de données plus ou moins liées, toutes les variables membres doivent être privées. Il n'y a presque jamais de bonne raison d'utiliser des variables protégées.

Questions connexes