O comando return


Quando tivermos que retornar um valor de alguma função, devemos fazê-lo através do comando return, seguido do valor a ser retornado:


return altura * largura;


return 412;



Podemos retornar uma expressão, cujo valor deve ser compatível com o valor retornado por return:


return(ImprLabel_1(int, int));



return (i <= 100);



Se não houver valores a retornar, usamos a palavra void indicando a circunstância:


void Impr_Diam(int raio); // protótipo



O comando return funciona como uma porta de saída da função. Assim que é executado, a expressão que o segue é retornada, sendo desconsideradas todas as instruções posteriores. Contudo, o fato de um comando return ser encontrado, não significa necessariamente que o mesmo será executado, pois poderá haver um desvio na linha de execução do código. Daí, podemos ter um ou mais comandos return numa função:


if(a > b) return a;
else return b;



Exemplo:



//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
int Form_Capt(int, int); // protótipo - recebe dois inteiros e devolve um
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
int a = 10, b = 40; //declara e inicializa duas int que serão passadas como argumentos da função
Form1->Caption = Form_Capt(a, b); // Chama Form_Capt(), passando a e b como argumentos
}
//---------------------------------------------------------------------------
int Form_Capt(int c, int d)
{
if(c > d)               return c * d;   // retorna c vezes d se c for maior que d
else if(c == d)         return c + d;   // retorna c mais d se c for igual a d
else                    return d - c;   // retorna c menos d se c for menor que d

}

anterior

índice

próxima



HOME || MAPA DO SITE || CURSOS || TUTORIAIS || LINKS || FORUM || CONTATO