Você pode sobrecarregar funções modelados como você pode funções normais. Desta forma , um nome de função pode lidar com tipos de dados genéricos e um número variável de parâmetros , desde que os parâmetros são do mesmo tipo de dados . O programador tem menos a pensar sobre como o compilador trata da verificação de tipo e corresponde a uma chamada de função para uma assinatura função. Modelo de sobrecarga de funções ajuda a aumentar a captação de utilização da função . Coisas que você precisa
avançada C + + conhecimento
compilador C + + com IDE, como o Visual Studio 2008
Show Mais instruções
1
comentário como usar modelos de função em C + + se o seu fundamento sobre modelos é instável. Você deve saber antes de templates você pode tentar este tutorial.
2
Use a palavra-chave " classe" ou " nome_do_tipo " no modelo para especificar os tipos genéricos. As duas palavras-chave têm uso diferente. Mas, para os fins deste tutorial, não importa qual palavra-chave que você usa.
3
Sobrecarga de um modelo função quantas vezes existem argumentos de entrada que você deseja que ele processar . Você deve fazer isso na declaração , bem como a definição. O exemplo abaixo mostra as três declarações de uma função , que pode imprimir 1-3 tipos de dados do mesmo tipo para a saída padrão :
modelo
imprimir void ( const T t1) ;
template < br > Imprimir void ( const T t1, const T t2) ; modelo dos convites
Imprimir void ( const T t1, const T t2, const T t3) ;
4
implementar os algoritmos sobrecarga da seguinte forma:
modelo
Imprimir void ( const T t1) { cout
} modelo dos convites
Imprimir void ( const T t1, const T t2) {
cout } modelo dos convites
Imprimir void ( const T t1, const T t2, const T t3) { } cout
5
chamada Print () a partir de main () , sobrecarregando-a com um a três parâmetros e usando qualquer tipo de dados fundamental. Note que você pode chamar a função com ou sem colchetes ou tipo de especificação :
int main () {
impressão ( 4.f ) //imprime um flutuador
Imprimir < > (23 , 37 ) //imprime dois inteiros
impressão ( 'c' , 'o' , 'm' ) //imprime três caracteres
}
< br >