2012-01-21 9 views
1

Dans la classe A, j'ai défini les données d'un membre privé char * d;.accéder aux données des membres privés en C++?

Et aussi dans la classe A, je surcharge opérateur = qui prend un const A &other paramètre et faire l'attribution.

A ce moment où je surcharge opérateur =, j'ai réalisé que mon Visual Studio C++ ne me donne pas d'alerte lorsque j'essaye d'écrire quelque chose comme d = *other.d.

Alors je suis ici pour demander pourquoi je suis autorisé à le faire? Je n'ai pas encore lancé ce programme mais je suis curieux de savoir pourquoi je n'ai pas reçu d'alerte pour cette ligne. Dans mon esprit, les membres de données privées ne sont accessibles qu'aux getters.

Alors, je me trompe?

+0

qui est le type d'autre N – Guillaume07

Répondre

10

restrictions d'accès fonctionnent par classe, et non par exemple - class A méthodes peuvent accéder aux données privées pour une instance de la classe, non seulement this.

+0

des documents standard sur ce problème? – nttstar

+0

Tout livre standard sur C++ devrait l'expliquer. http://www.cplusplus.com/doc/tutorial/classes/ – tzaman

Questions connexes