Posso acessar membros particulares de fora da classe sem usar amigos?

aviso Legal

Sim, eu tenho plena consciência de que o que estou perguntando é totalmente estúpido e que qualquer pessoa que deseje tentar uma coisa dessas no código de produção deve ser demitida e / ou baleada. Eu estou olhando principalmente para ver sepode ser feito.

Agora que isso está fora do caminho, existe alguma maneira de acessar membros da classe privada em C ++ de fora da classe? Por exemplo, existe alguma maneira de fazer isso com deslocamentos de ponteiro?

(Técnicas ingênuas e não prontas para produção são bem-vindas)

Atualizar

Conforme observado nos comentários, fiz essa pergunta porque queria escrever uma postagem no blog sobre encapsulamento excessivo (e como isso afeta o TDD). Eu queria ver se havia uma maneira de dizer "o uso de variáveis privadas não é uma maneira 100% confiável de impor o encapsulamento, mesmo em C ++". No final, decidi me concentrar mais em como resolver o problema, e não em por que é um problema, por isso não mostrei algumas das coisas trazidas aqui da maneira mais proeminente que havia planejado, mas ainda assim deixei um link.

De qualquer forma, se alguém estiver interessado em como saiu, aqui está:Inimigos do desenvolvimento orientado a testes parte I: encapsulamento (Sugiro ler antes de você decidir que sou louco).

questionAnswers(24)

yourAnswerToTheQuestion