Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: SebaC en 6 Mayo 2016, 21:00 PM

Título: No me imprime esta cadena fuera de main
Publicado por: SebaC en 6 Mayo 2016, 21:00 PM
Alguien me explica porque no imprime nada este programa

Código (cpp) [Seleccionar]
#include <iostream>
void imprimir ()
{
    std::cout << "Hola a todos";
}

int main ()
{

}
Título: Re: No me imprime esta cadena fuera de main
Publicado por: NOB2014 en 6 Mayo 2016, 21:16 PM
Hola.
Te faltó llamar a la función imprimir() dentro de la función principal (main)

Saludos.
Título: Re: No me imprime esta cadena fuera de main
Publicado por: class_OpenGL en 6 Mayo 2016, 21:18 PM
Un programa tanto en C como en C++ tiene una función especial llamada 'main'. Esta función es especial pues es desde donde el código se ejecuta. Todo lo que no entre en la función main directa o indirectamente no se ejecuta.

Para solucionarlo, tienes que llamar/invocar a la función imprimir desde la función main:
Código (cpp) [Seleccionar]
int main()
{
   imprimir();
}
Título: Re: No me imprime esta cadena fuera de main
Publicado por: SebaC en 6 Mayo 2016, 21:23 PM
Pensé que se podía sin usar main jeje que ignorancia la mía
Título: Re: No me imprime esta cadena fuera de main
Publicado por: Orubatosu en 6 Mayo 2016, 21:43 PM
El programa se inicia en el Main, y termina en el mismo. Todo lo que está fuera son funciones, definiciones y otras estructuras.

La idea de las funciones precisamente es que puedas llamarlas varias veces (hacer una función para llamarla una sola vez no tiene mucho sentido)
Título: Re: No me imprime esta cadena fuera de main
Publicado por: geeke en 6 Mayo 2016, 22:09 PM
Tampoco es que no se pueda lo que podríamos hacer en este caso es crear una clase donde el constructor contega un cout y luego crear un objeto global del mismo, momento en el cual se llama al constructor imprimiendose el mensaje

Código (cpp) [Seleccionar]

#include <iostream>

class print
{
public:
   print()
   {
       std::cout << "Hola Mundo";
   }
}s;

int main ()
{

}