Puis-je accéder aux membres privés de l'extérieur de la classe, sans l'aide d'amis?

Avertissement

Oui, je suis pleinement conscient que ce que je demande est totalement stupide et que toute personne qui souhaiterait essayer une telle chose dans le code de production devrait être congédié et/ou de la grenaille. Je suis principalement à la recherche pour voir si peut être fait.

Maintenant que c'est de la manière, est-il possible de l'accès privé aux membres de la classe en C++ à partir de l'extérieur de la classe? Par exemple, est-il possible de faire cela avec les compensations pointeur?

(Naïve et non prêt pour la production des techniques de bienvenue)

Mise à jour

Comme indiqué dans les commentaires, j'ai posé cette question parce que je voulais écrire un billet de blog sur over-encapsulation (et comment il affecte TDD). Je voulais voir si il y avait une façon de dire "à l'aide de variables privées n'est pas 100% fiable pour faire respecter l'encapsulation, même en C++." À la fin, j'ai décidé de se concentrer davantage sur la façon de résoudre le problème plutôt que de savoir pourquoi c'est un problème, donc je n'ai pas les choses apportées jusqu'ici en bonne place comme je l'avais prévu, mais j'ai toujours laissé un lien.

En tout cas, si quelqu'un est intéressé par la façon dont il est sorti, c'est ici: Les ennemis de Développement Piloté par les tests de la partie I: l'encapsulation (je suggère de le lire avant de vous décider que je suis fou).

  • D'intérêt, pourquoi poser la question. La seule utilisation que je peux penser pour ce qui est de pirater quelqu'un elses API pour faire des ravages.
  • Je suis en train d'écrire un billet de blog sur over-encapsulation. Je viens de regarder pour voir si il était possible de dire "la protection par des méthodes privées n'est pas parfait, même en C++!" Je vais poster le lien une fois que j'ai obtenu il écrit.
InformationsquelleAutor Jason Baker | 2009-01-08