Valores Default



Conforme vimos, na chamada de uma função existe a necessidade de fornecermos um argumento que corresponda a cada parâmetro declarado no protótipo e na definição da função, respeitando-se os tipos que aparecem no protótipo:


/*double*/ conta (/*int*/ a, /*double*/ b);


Podemos, contudo, estabelecer um valor defaut (padrão) para um ou mais parâmetros:


/*protótipo*/ double conta ( int raio, double Pi = 3.1416);


Em tais situações, se na chamada à função não fornecermos um valor, o default será usado:


conta ( raio); // chamada à função 


Se, porém, fornecermos um valor, o default não será usado:


double Pi = 3.14;
conta (raio, Pi); // chamada à função


Não há limites para a quantia de parâmetros com valores default. A única exigência é que os parâmetros com valores default devem ser, sempre, os últimos na lista de parâmetros de uma função.



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

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
/*protótipo*/  double conta ( int raio, double Pi = 3.1416);
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------


void __fastcall TForm1::Button1Click(TObject *Sender)
{
double diametro = conta(6);
ShowMessage((String)"O diâmetro com o default é: " + diametro);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)
{
double diametro = conta(6, 3.14);
ShowMessage((String)"O diâmetro sem o default é: " + diametro);
}
//---------------------------------------------------------------------------

/*definição*/ double conta ( int i, double Pi)
{
 return 2*Pi*i;
}

anterior

índice

próxima



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