Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Profa. Dra. Ieda Hidalgo E-mail: iedahidalgo@ft.unicamp.br Protótipos de Funções E Operador de Escopo :: 2 Definição de Protótipo de Função Assim como as variáveis, as funções devem ser declaradas antes de serem usadas. A declaração de uma função é chamada de protótipo. 3 Elementos de um Protótipo de Função Os protótipos especificam quatro itens a respeito de uma função: � seu nome � seu tipo de retorno � o tipo de seus parâmetros � o número de seus parâmetros 4 Importância dos Protótipos Eles dizem ao compilador que tipo de código gerar quando uma função é chamada. Diferentes tipos de retorno devem ser tratados diferentemente pelo compilador. Eles permitem que C++ encontre e reporte quaisquer convenções ilegais de tipos. Eles permitem que o compilador detecte diferenças entre o número de argumentos usados para chamar uma função e o número de parâmetros na função. 5 Sintaxe tipo-retorno nome-função (tipo-param1 [nome-param1], tipo-param2 [nome-param2], ..., tipo-paramn [nome-paramn]); Tipo-retorno = um dos tipos da linguagem ou um tipo criado pelo programador ou void se não há retorno. Nome-função = forma como o compilador identificará a função. Tipo-param = a declaração de protótipo obriga o programador a identificar os tipos dos parâmetros que seguem as regras do tipo de retorno. Nome-param = forma como o compilador identificará os parâmetros. 6 Definição da Função tipo nome (declaração dos parâmetros) { instruções; // corpo da função } Protótipo da Função tipo nome (declaração dos parâmetros); Chamada a Função nome (declaração dos parâmetros); 7 Resumindo (1/2) O protótipo tem a mesma forma da definição anterior ao corpo da função, exceto por terminar com ponto-e-vírgula após o fechamento do parêntese. O objetivo é fornecer ao compilador as informações necessárias sobre a função. Todas as funções, exceto main(), devem ter protótipos. Em C++ os protótipos são obrigatórios, em C eles são opcionais. 8 Resumindo (2/2) O tipo de uma função é determinado pelo valor que ela retorna via comando return. O comando return termina a execução de uma função e retorna o controle para a instrução seguinte do código de chamada. Ele não é obrigatório numa função. Uma função sem return termina quando encontra a "}" e é do tipo void. Podemos utilizar a chamada a uma função como argumento para outra função. 9 Operador de Escopo :: O operador de escopo antes do nome da variável solicita ao compilador que utilize a variável externa ao invés da automática, visto que a classe auto tem precedência sobre a classe extern. int j = 234; void main() { int j = 10; cout << ::j << '/n'; cout << j; } Saída: 234 10
Compartilhar