C ++

Função C ++ Friend

Função C ++ Friend
Uma função é um bloco de código que executa uma determinada tarefa e fornece a saída. É usado principalmente para eliminar código repetitivo. Neste tutorial, vamos dar uma olhada na função friend em C ++ e explicar seu conceito com exemplos de trabalho.

O que é função de amigo?

Função de amigo é uma função não membro que pode acessar os membros privados e protegidos de uma classe. “Amigo” é uma palavra-chave usada para indicar que uma função é amiga de uma classe. Isto permite ao compilador saber que a função particular é amiga da classe dada. A função amigo deve ser capaz de acessar o membro privado e protegido de uma determinada classe. Sem a palavra-chave friend, uma função externa não membro pode acessar apenas os membros públicos de uma classe.

Principais recursos da função de amigo:

Aqui estão os principais recursos da função de amigo:

  1. Uma função de amigo não está no escopo da classe.
  2. A função de amigo não pode ser chamada usando uma instância de uma classe.
  3. Ele pode acessar os membros usando o operador de objeto e ponto.

Sintaxe da função de amigo:

Aqui está a sintaxe da função de amigo:

class Class_Name_Demo



amigo return_Type function_Name (arg_1, arg_2,…);
;

Exemplo de função de amigo:

Agora, vamos dar uma olhada em um programa de exemplo para entender o conceito da função amigo em C++. No programa de exemplo abaixo, temos a classe “Friend_Demo”. Ele tem três tipos diferentes de membros de dados, i.e., privado, protegido e público.

Definimos outra função, i.e., “FriendDemo_Func ()” fora do escopo da classe “Friend_Demo” e tentou acessar os membros (privados, protegidos e públicos) da classe “Friend_Demo”.

Mas, como você pode ver na saída abaixo, quando compilamos o programa, ele gera erros de compilação. A função de amigo vai resolver exatamente este problema.

#incluir
usando namespace std;
classe Friend_Demo

privado:
int i_private;
protegido:
int i_protected;
público:
int i_public;
;
void friendDemo_Func ()

Friend_Demo fd;
fd.i_privado = 10;
fd.i_protected = 15;
fd.i_public = 20;
cout << fd.i_private << endl;
cout << fd.i_protected << endl;
cout << fd.i_public << endl;

int main ()

friendDemo_Func ();
return 0;

No programa anterior, estávamos obtendo erros de compilação ao tentar acessar os membros private, protected e public de uma classe de uma função não membro. Isso ocorre porque uma função não membro não tem permissão para acessar os membros privados e protegidos de uma classe de fora do escopo da classe.

Agora, neste exemplo, declaramos a função “friendDemo_Func ()” como um amigo dentro do escopo da classe, i.e., “Friend_Demo”:

amigo void friendDemo_Func ();

Nós criamos um objeto, eu.e., “Fd” da classe “Friend_Demo” dentro da função “friendDemo_Func ()”. Agora, podemos acessar os membros privados, protegidos e públicos da classe “Friend_Demo” usando o operador ponto. Atribuímos 10, 15 e 20 para i_private, i_protected e i_public, respectivamente.

Como você pode ver na saída abaixo, este programa agora é compilado e executado sem erros e imprime a saída conforme o esperado.

#incluir
usando namespace std;
classe Friend_Demo

privado:
int i_private;
protegido:
int i_protected;
público:
int i_public;
amigo void friendDemo_Func ();
;
void friendDemo_Func ()

Friend_Demo fd;
fd.i_privado = 10;
fd.i_protected = 15;
fd.i_public = 20;
cout << fd.i_private << endl;
cout << fd.i_protected << endl;
cout << fd.i_public << endl;

int main ()

friendDemo_Func ();
return 0;

Conclusão:

Neste artigo, expliquei o conceito da função amigo em C++. Também mostrei dois exemplos de trabalho para explicar como a função friend se comporta em C++. Às vezes, a função amigo pode ser muito útil em um ambiente de programação complexo. No entanto, um programador deve ter cuidado com o uso excessivo e comprometer seus recursos OOP.

Como reverter a direção de rolagem do Mouse e Touchpads no Windows 10
Mouse e Touchpads não apenas torna a computação mais fácil, mas mais eficiente e menos demorada. Não podemos imaginar uma vida sem esses dispositivos,...
Como alterar o ponteiro do mouse e tamanho do cursor, cor e esquema no Windows 10
O ponteiro do mouse e o cursor no Windows 10 são aspectos muito importantes do sistema operacional. Isso também pode ser dito para outros sistemas ope...
Mecanismos de jogos gratuitos e de código aberto para o desenvolvimento de jogos Linux
Este artigo cobrirá uma lista de mecanismos de jogo gratuitos e de código aberto que podem ser usados ​​para desenvolver jogos 2D e 3D no Linux. Exist...