Em diagramas de classe, um relacionamento de permissão é um relacionamento no qual uma classe permite que uma outra classe tenha visibilidade para seus atributos ou operações encapsulados.
Em C/C++, um relacionamento especial permite que uma classe conceda permissão para uma outra classe para acessar sua área de dados privados. A classe que recebeu a permissão torna-se uma amiga da classe de compartilhamento. Uma classe que é amiga de uma outra classe possui acesso a todos os dados e métodos da classe de compartilhamento.
Por exemplo, uma classe Customer concede permissão a uma classe Account para que a classe Account possa utilizar informações pessoais sobre o cliente. A classe Account torna-se amiga da classe Customer. Esse relacionamento torna mais fácil para a classe Account executar suas tarefas porque ela possui acesso à classe Customer.
Conforme ilustrado na figura na tabela a seguir, um relacionamento de permissão é mostrado por um conector de linha tracejada entre as classes com uma ponta de seta aberta que aponta para a classe amiga ou a classe que possui permissão para acessar os dados e métodos privados da classe de compartilhamento.
Código Fonte C/C++ | Visualização UML |