BotonMenu
BotonIndice

Visita : http://www.conoce3000.com
Paypal : https://www.paypal.me/conoce3000/1

PASCAL CON FREE PASCAL

PASCAL CON FREE PASCAL

PASCAL CON FREE PASCAL


6. FUNCIONES, PROCEDIMIENTOS Y UNIDADES.
6.5. SOBRECARGA (OVERLOAD) DE FUNCIONES Y PROCEDIMIENTOS.
6. FUNCIONES, PROCEDIMIENTOS Y UNIDADES.
6.5. SOBRECARGA (OVERLOAD) DE FUNCIONES Y PROCEDIMIENTOS.
6. FUNCIONES, PROCEDIMIENTOS Y UNIDADES.
6.5. SOBRECARGA (OVERLOAD) DE FUNCIONES Y PROCEDIMIENTOS.

SIGUIENTE

SIGUIENTE

SIGUIENTE


‒ Sobrecarga (Overload) de funciones y procedimientos.

La sobrecarga de funciones y procedimientos consiste en crear varias funciones y procedimientos con el mismo nombre o identificador, diferenciándose en la cantidad de parámetros ó en el uso de parámetros con tipos de datos diferentes.

Es decir se puede crear un procedimiento para ordenar una lista de nombres que acepte como parámetro un arreglo con cadenas de caracteres, y el mismo identificador del procedimiento anterior se puede usar para crear otro procedimiento para ordenar una lista de números que acepte como parámetro un arreglo de enteros. A continuación el ejemplo:


Descargar
{$codepage UTF8}

PROCEDURE Ordenar(Var lista:array of integer);
 Var i,j:longint;
     aux:integer;
 Begin
   For i:=1 to High(lista) do  
    Begin
      aux:=lista[i];
      j:=i-1;
      While ( (j>=0) and (lista[j]>aux) ) do
        Begin
          lista[j+1]:= lista[j];
          j := j - 1;
        End;
        lista[j+1]:=aux;
    End;   
 End;    
 
PROCEDURE Ordenar(Var lista:array of string);
 Var i,j:longint;
     aux:string;
 Begin
   For i:=1 to High(lista) do  
    Begin
      aux:=lista[i];
      j:=i-1;
      While ( (j>=0) and (lista[j]>aux) ) do
        Begin
          lista[j+1]:= lista[j];
          j := j - 1;
        End;
        lista[j+1]:=aux;
    End;   
 End;     
   
VAR lista01:array [1..10] of integer = (10,15,12,14,11,8,1,5,10,20);
    lista02:array [1..5] of string = ('Jose','Ana','Marie','Carlos','Luis');
    i : integer;  
          
BEGIN      
  Ordenar(lista01);
  Ordenar(lista02);
  for i:=1 to 10 do Writeln(lista01[i]);
  for i:=1 to 5 do Writeln(lista02[i]);
END.
Código fuente 13: Sobrecarga del procedimiento Ordenar.
Descargar

En el caso de usar la sobrecarga en funciones no se puede crear funciones con el mismo nombre y que solamente se diferencien en el valor devuelto por la función. No es posible hacer una sobrecarga de una función o procedimiento diferenciando sus parámetros con el uso de la palabra reservada Var, es decir si un procedimiento tiene un parámetro que use la palabra reservada Var y el otro procedimiento tiene el mismo parámetro sin el uso de Var, entonces los procedimientos no serán sobrecargados; lo mismo sucede con las funciones. La palabra reservada overload es usado por el compilador delphi cuando se desea sobrecargar funciones y procedimientos, pero en freepascal todas las funciones y procedimientos pueden ser sobrecargados sin el uso de esta palabra reservada, excepto cuando se sobrecarguen funciones o procedimientos que esten en unidades distintas. ver el capitulo 6.7. Unidades (Librerias), para mayor información.




SIGUIENTE
SIGUIENTE
SIGUIENTE


 
‒ Comentarios y sugerencias.

Agradezco de antemano, todo comentario, sugerencia, y donativo (a través de Paypal me), que ayude a mejorar los contenidos educativos de Conoce 3000. Además, cualquier pregunta o duda que tengas lo puedes hacer por este medio. Pero, todo contenido que pueda resultar ofensivo, malicioso, racista, sexista, discriminatorio, obsceno, vulgar será eliminado.








PORTADA |  INTERESANTE |  APUNTES |  LIBROS |  GALERIA


Creative Commons License


Todos los textos, imágenes y videos de Conoce3000 estan colocados bajo una licencia : Creative Commons Reconocimiento-NoComercial 3.0 Unported License.