Examinemos la sobrecarga en C / C ++ / C #

La sobrecarga de funciones permite que las funciones en lenguajes informáticos como C, C ++ y C # tengan el mismo nombre con diferentes parámetros. La sobrecarga del operador permite a los operadores trabajar de la misma manera. En C #, la sobrecarga de métodos funciona con dos métodos que logran lo mismo pero tienen diferentes tipos o números de parámetros.

Un ejemplo de sobrecarga de funciones

En lugar de tener una función con un nombre diferente para ordenar cada tipo de matriz, como:

Puede usar el mismo nombre con diferentes tipos de parámetros como se muestra aquí:

El compilador puede llamar a la función apropiada según el tipo de parámetro. Resolución de sobrecarga es el término dado al proceso de selección de la función de sobrecarga adecuada.. 

Sobrecarga del operador

Similar a la sobrecarga de funciones, la sobrecarga del operador permite a los programadores redefinir operadores como +, - y *. Por ejemplo, en una clase para números complejos donde cada número tiene una parte real e imaginaria, los operadores sobrecargados permiten que funcione un código como este:

Siempre que se sobrecargue + para el complejo tipo.

Ventajas de sobrecargar al escribir código

  • Terminas con un código que es más fácil de leer
  • La sobrecarga es conveniente e intuitiva
  • Evita la sintaxis torpe 
  • Consistencia en nombrar y notar
  • Funciona bien en plantillas y otras construcciones cuando no conoce el tipo de variable en el momento en que escribe el código.