|  | Se 
              dice que una función es recursiva cuando se define en 
              función de si misma.  No 
              todas la funciones pueden llamarse a si mismas, deben estar diseñadas 
              especialmente para que sean recursivas, de otro modo podrían 
              conducir a bucles infinitos, o a que el programa termine inadecuadamente. C++ 
              permite la recursividad. Cuando se llama a una función, se 
              crea un nuevo juego de variables locales, de este modo, si la función 
              hace una llamada a si misma, se guardan sus variables y parámetros 
              en la pila, y la nueva instancia de la función trabajará 
              con su propia copia de las variables locales, cuando esta segunda 
              instancia de la función retorna, recupera las variables y 
              los parámetros de la pila y continua la ejecución 
              en el punto en que había sido llamada.   |  |