C++ · Essencial · Português · Técnico
sobrecarga de função
Definir várias funções com o mesmo nome, mas parâmetros diferentes em número ou tipo. O compilador escolhe a versão certa na chamada, pela resolução de sobrecarga.
Onde usar
Comum em APIs como print(int) e print(double). Chamadas ambíguas geram erro de compilação, e conversões implícitas podem escolher uma versão inesperada.
Em código
void ver(int) { puts("int"); }
void ver(double) { puts("double"); }
int main() {
ver(1); // int
ver(1.0); // double
}Exemplos
Tenho duas sobrecargas, uma para int e outra para double.
A chamada ficou ambígua porque nenhuma sobrecarga serve melhor.
Cuidado
O tipo de retorno sozinho não diferencia sobrecargas; os parâmetros precisam ser diferentes.
Sinônimos
overload