Como llamar una funcion dentro de otra funcion en C++

Llamando funciones desde otra funcion

Me dispongo a mostrarles como llamar una función desde otra función en C++ de la forma más simple posible, porque de hecho este procedimiento es bastante sencillo, repasemos primero como llamar a una función simple.

#include <iostream>
#include <cstdlib>

using namespace std;

void funcion1(){
cout << "Primer mensaje" << endl;
}

int main(){

funcion1();

system("pause");
return 0;
}


Tengamos en cuenta que la función main() que por fuerza todo programa tiene que tener es una función como cualquier otra, la única diferencia es que cuando iniciamos el programa esté ingresa dentro de la función main y desde ahí se llamará a otras funciones, lo que intento decirles es que ya estamos llamando funciones dentro de otra función cada vez que llamamos a una desde main y el método es el mismo, en todo caso les muestro con el siguiente código los pasos para lograr este objetivo(lean la nota al final del articulo si ya lo intentaron y no les funcionó).

Ejemplo de cómo llamar una función desde otra función en C++



#include <iostream>
#include <cstdlib>

using namespace std;

void funcion2(){
cout << "Segunda linea de texto" << endl;
}

void funcion1(){
cout << "Primer mensaje" << endl;
funcion2();
}

int main(){

funcion1();

system("pause");
return 0;
}


Ejemplo funciones anidadas

Entiendo que algunos han de estarse preguntando ¿porque si yo lo hice igual a mí no me funcionó y ahora si funciona?, esto se debe a que muy probablemente usted creara la segunda función por debajo de la primera, en otras palabras, las funciones que han de ser llamadas por otras han de declararse por encima de las funciones donde se localiza las llamadas, porque C++ es un lenguaje que tiene orden de lectura de arriba hacia abajo.

Nota: Las funciones anteriores las he declarado como void, void no es un tipo, es sinónimo de vacio, esto es porque no necesito regresar nada desde la función, a diferencia de la función main que la he declarado de tipo int porque como pueden observar al final retorno 0, y 0 es de tipo entero.
Comentarios y preguntas
Anónimo:
¿Y cómo podría regresar a la primera funcion una vez llamada la segunda?
Codigazo:
Hola Anónimo, lo que usted está es buscando volver a ejecutar la primer función, hay varias formas de hacer esto y la mas adecuada es encerrar la primer función dentro de un bucle infinito, y salir del bucle infinito con break; solo cuando se cumpla cierta condición, el siguiente código hace que de la función 2 se vaya a la 1 y posterior a eso regrese a la 2 para volver a ir a la 1, es un bucle infinito pero se puede salir de el cuando usted deseé con ayuda de una estructura condicional de tipo if.

#include <iostream>
#include <cstdlib>
using namespace std;
void funcion2(){
cout << "Segunda linea de texto" << endl;
}
void funcion1(){
cout << "Primer mensaje" << endl;
funcion2();
}
int main(){
while(1==1){
funcion1();
}
system("pause");
return 0;
}


si quiere algo mas especifico puede compartir el código que tiene.
Anonimo:
De que fechas son todas las preguntas y respuestas? sigue activa la pagina? debajo del titulo Codigazo en la pestaña "Inicio", no me aparece nada. Amigo, tus códigos y explicaciones me han abierto los ojos para saber que es lo que estoy haciendo y como es que funciona. yo te pido que SIGAS enseñando código con otro ejemplo, e ir escalando en complejidad. MUCHAS GRACIAS.
Codigazo:
Hola Anonimo, claro seguimos activos, si no le aparece nada en la seccion "Inicio" puede deberse a una configuración de su navegador, pruebe presionando "CTRl +" y "CTRL -" hasta ver algo, le agradezco por sacar el tiempo para comentar e incentivarme a continuar compartiéndoles.