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;
}
|
HOME || MAPA DO SITE || CURSOS || TUTORIAIS || LINKS || FORUM || CONTATO |