Diferenças entre edições de "Programar em C++/Friend"

36 bytes adicionados ,  15h38min de 16 de abril de 2020
m
<source> -> <syntaxhighlight> (phab:T237267)
m (<source> -> <syntaxhighlight> (phab:T237267))
 
Vamos ao exemplo:
 
<sourcesyntaxhighlight lang=cpp>
// friend functions
#include <iostream>
}
 
</syntaxhighlight>
</source>
 
O uso de funções amigas deve ser evitado sempre que possível, pois diminui a identidade da orientação a objetos. Isto ocorre porque o uso desse mecanismo representa uma quebra no encapsulamento. Quando passamos a permitir que funções tenham acesso a membros restritos dos objetos fazemos com que agentes externos interfiram na autonomia dos mesmos. Isto pode dificultar a análise de programas muito extensos.
Apesar da funcionalidade ser um pouco semelhante à que temos no uso das funções, quando declaramos uma classe como "friend" dentro de outra, teremos todas as funções da primeira com poderes de acesso aos membros da segunda. Esta característica requer cuidado redobrado quando operações da classe "friend" interferem no conteúdo da outra.
 
<sourcesyntaxhighlight lang=cpp>
// friend class
#include <iostream>
return 0;
}
</syntaxhighlight>
</source>
 
 
251

edições