Em C + +, um objeto de função é um objeto de classe que você pode usar como uma função. Ele funciona de forma semelhante a outras funções , a não ser que você use o operador de chamada de função para passar valores para a classe de objeto . Por exemplo, um objeto de função pode tomar uma série de números , mesmo se você não sabe quantos o usuário irá fornecer quando você escrever o código, e adicioná-los juntos para salvar o resultado no objeto de classe . Use
Para usar um objeto de função , você primeiro definir e criar uma classe de objeto , em seguida, criar uma função chamada "operador" como um dos membros da função pública. Se você criar variáveis de membro privadas , você pode definir o seu valor no construtor da classe , em seguida, modificá-los com outros valores passados através da função do operador. C + + tem uma vantagem sobre a linguagem de programação semelhante , tais como Java, porque essas outras linguagens não permitem sobrecarga de operador .
Sintaxe
Você cria objetos de função de forma semelhante a qualquer outro objetos em um programa em C + + . Você define uma nova classe, em seguida, criar variáveis de membro e funções públicas e privadas , conforme necessário. No entanto, uma das funções públicas que você precisa implementar é o operador de chamada de função , o que permite que você use o objeto da classe em seu programa como uma função. No corpo do programa , você cria objetos de função da mesma maneira que qualquer outro objeto, digitando o nome da classe, em seguida, o nome do objeto.
Chamada Operador
A função de operador de call é o que torna um objeto de função diferente de outros objetos de classe . Sintaticamente , você precisa usar dois conjuntos de suportes para criar uma função de operador. Por exemplo, digitando " operador void ( ) (int val1 ) { total + = val1 ;} ; " permite que você use o objeto como uma função para adicionar valores a uma execução total em uma variável membro da classe. Você pode então usar esta variável total em outras funções de classe .
Sobrecarga
Sobrecarregar o operador de função não mudar a forma como você chamar a função , ele modifica como você passar valores ao objeto. Ele permite que você passe um número arbitrário de argumentos , o que ajuda se você não sabe quantas você precisa para passar em tempo de execução . Por exemplo, se você tem um construtor de classe que leva apenas dois parâmetros e ter um operador de chamada de função que leva de três , você pode usar um objeto de função existente para inicializar um novo, mas passar três parâmetros a ele em vez de dois. Isso sobrecarrega o construtor e força a função operador para inicializar os valores.