Je vous écris un arbre B-link et ses sous-classes auxiliaires comme une classe de page de données et une classe de noeud, etc.Est-il possible en C++ de rendre l'interface d'une classe privée à toutes les classes sauf quelques unes?
Je me demandais est-il un moyen de protéger les interfaces publiques des noeuds et des pages telles que seulement la classe d'arbre b-link elle-même peut y accéder, SANS exposer simultanément les méthodes privées des pages et des noeuds à la classe b-link? J'ai déjà pensé à simplement changer l'interface 'publique' des pages et des noeuds dans la catégorie protégée, puis à déclarer l'arbre B-link comme un ami mais à donner à l'arbre b-link l'accès à des méthodes privées Je veux rester privé.
+1. Vous pouvez également utiliser un modèle similaire en utilisant l'héritage pour les amis "virtuels". – Puppy
@DeadMG: Pourriez-vous élaborer? –
Si vous êtes un ami de la classe de base, il peut alors implémenter des méthodes qui enveloppent efficacement les méthodes prévues - permettant aux classes dérivées d'y accéder comme si elles étaient des amis. – Puppy