next up previous contents
Next: Número variável de argumentos Up: Funções Previous: Passagem por referência   Sumário

Parâmetros default

C ++ permite a especificação de valores que argumentos de função assumirão caso a função seja chamada sem estes parâmetros -- são os parâmetros default.

O exemplo abaixo ilustra o uso deste mecanismo em uma função com três argumentos, dois dos quais podem assumir valores default, mas pelo menos o primeiro deve estar sempre presente. No corpo da função, há chamadas para a função com um, dois e três argumentos.

indentation

#include $<$iostream.h$>$
#include $<$stdio.h$>$

int get_volume(int length, int width = 2, int height = 3);

main()
{
int x = 10, y = 12, z = 15;

cout $\ll$ "Some box data is " $\ll$ get_volume(x, y, z) $\ll$ begintex2html_wrap_inline$$n";
cout $\ll$ "Some box data is " $\ll$ get_volume(x, y) $\ll$ begintex2html_wrap_inline$$n";
cout $\ll$ "Some box data is " $\ll$ get_volume(x) $\ll$ begintex2html_wrap_inline$$n";

cout $\ll$ "Some box data is ";
cout $\ll$ get_volume(x, 7) $\ll$ begintex2html_wrap_inline$$n";
cout $\ll$ "Some box data is ";
cout $\ll$ get_volume(5, 5, 5) $\ll$ begintex2html_wrap_inline$$n";

}

int get_volume(int length, int width, int height)
{
printf(%4d %4d %4d ", length, width, height);
return length $\ast$ width $\ast$ height;
}
O resultado da execução deste programa deve ser:
    Some box data is   10   12   15   1800
    Some box data is   10   12    3   360
    Some box data is   10    2    3   60
    Some box data is   10    7    3   210
    Some box data is    5    5    5   125

Em alguns compiladores, a saída pode surgir ``embaralhada'' nas três primeiras linhas. Quando isto acontece, é porque a rotina de apresentação de dados na função get_volume é executada antes da apresentação dos dados na rotina main.


next up previous contents
Next: Número variável de argumentos Up: Funções Previous: Passagem por referência   Sumário
Ivan Luiz Marques Ricarte 2001-06-01