Qual é a diferença entre a função de amigo e a função normal em C ++

Índice:

Anonim

o principal diferença entre a função de amigo e a função normal em C ++ é que A função Friend ajuda a acessar dados privados e protegidos, enquanto a Função Normal é um grupo de instruções que executa uma tarefa específica.

C ++ é uma linguagem de programação desenvolvida por Bjarne Stroustrup em 1979. Essa linguagem é semelhante à linguagem C, mas tem recursos adicionais que a C. Um dos principais conceitos de programação em C ++ são as funções. C ++ tem uma função especial chamada função amiga, que é diferente de uma função normal.

C, C ++, função de amigo, função normal

O que é função de amigo em C ++

Pode haver membros de dados privados e protegidos em uma classe. Não é possível acessar os membros de dados privados fora da classe. Podemos acessar os membros protegidos dentro da classe e por suas subclasses. Portanto, esses dois modificadores de acesso restringem o acesso aos membros de dados. Além disso, podemos acessar membros de dados privados e protegidos de uma classe usando uma função de amigo. A palavra-chave “amigo” declara uma função como uma função de amigo.

Figura 1: Programa C ++ com função de amigo

No programa acima, a classe Calculate contém um membro de dados privado chamado number. O programador deve declarar a função amiga dentro da classe como na linha 10. Em seguida, calcule o construtor inicializa o número para 0. O printNumber é a função amiga. No método principal, c é um objeto de Calculate. Podemos passar esse objeto para o método printNumber. Como printNumber é uma função amiga, ela pode acessar o 'número' do membro privado e modificar o valor. Portanto, ele acessa esse valor e adiciona 20 a ele e retorna o resultado. Finalmente, o resultado é exibido no console.

O que é função normal em C ++

Uma função normal é um conjunto de instruções que executam uma tarefa específica. Em vez de escrever todas as instruções em um único método, podemos dividir o programa em várias funções e chamá-las no método principal conforme necessário. Portanto, as funções normais aumentam a capacidade de reutilização do código e melhoram a capacidade de manutenção do código.

Existem dois tipos de funções: funções de biblioteca e funções definidas pelo usuário. C ++ fornece funções de biblioteca. Eles são declarados nos arquivos de cabeçalho C ++. Alguns exemplos são sin (x), sqrt (x), etc. O programador pode usá-los diretamente no programa. Além disso, o programador pode escrever suas próprias funções. Estas são chamadas de funções definidas pelo usuário.

Figura 2: Programa C ++ com função normal

No programa acima, x e y são dois valores inteiros no método principal. O findSum é um método e podemos passar os valores xey para ele. Ele calcula a soma e retorna o resultado. O resultado é armazenado na variável sum. Da mesma forma, existe uma função chamada findMultiply. Podemos passar os valores xey para ele. Ele calcula a multiplicação e retorna o resultado. Da mesma forma, essas duas funções executam as tarefas e retornam as respostas ao método principal.

Diferença entre função de amigo e função normal em C ++

Definição

A função de amigo em C ++ é um método que dá acesso a dados privados e protegidos, enquanto a função normal em C ++ é um método para fornecer modularidade a um programa. Esta é a principal diferença entre Função de amigo e Função normal em C ++.

Uso

Outra diferença entre Função de amigo e Função normal em C ++ é seu uso. A função de amigo ajuda a modificar os membros de dados privados e protegidos de uma classe, enquanto a função normal melhora a capacidade de reutilização do código e torna o código sustentável.

Conclusão

A principal diferença entre a função Friend e a função normal em C ++ é que a função Friend ajuda a acessar dados privados e protegidos, enquanto a função normal é um grupo de instruções que realiza uma tarefa específica. Em resumo, a função de amigo é um tipo de função.

Referência:

1. “Função C Friend - Javatpoint.” Www.javatpoint.com, disponível aqui.2. “Funções C - Javatpoint.” Www.javatpoint.com, disponível aqui.3. “Funções em C.” Tipos de topologia de rede em redes de computadores | Studytonight, disponível aqui.

Qual é a diferença entre a função de amigo e a função normal em C ++