Cela peut être un doute stupide, mais je ne suis pas en mesure de comprendre pourquoi je ne suis pas en mesure d'accéder à un membre privé de données statiques en dehors de la classe lorsque je suis autorisé à le définir.Pourquoi ne sommes-nous pas autorisés à accéder à un membre statique privé en dehors de la classe sans la fonction de membre public?
Ex: dans le code suivant:
class foo
{
static int A;
public:
int getA{return A;}
};
//This is allowed
int foo:A=0;
int main()
{
//This gives error
cout<<foo:A;
}
Pourquoi pensez-vous que vous devriez pouvoir y accéder? C++ c'est assez clair à ce sujet donc je ne suis pas sûr de la confusion. Si un membre est privé mais est toujours capable d'y accéder directement depuis l'extérieur de la classe ce qui rendrait la déclaration privée plutôt inutile maintenant, n'est-ce pas? –
Cela n'a aucun sens et n'est même pas proche de la compilation. S'il vous plaît modifier votre exemple pour montrer réellement ce que vous voulez démontrer. –
C'est ce qui me préoccupe. Si le membre est privé, pourquoi sommes-nous autorisés à le définir en dehors de la classe? Cela ne devrait-il pas enfreindre les règles du spécificateur? –