Foro de elhacker.net

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
  1. #include <iostream>
  2. void imprimir ()
  3. {
  4.    std::cout << "Hola a todos";
  5. }
  6.  
  7. int main ()
  8. {
  9.  
  10. }


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
  1. int main()
  2. {
  3.    imprimir();
  4. }


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
  1. #include <iostream>
  2.  
  3. class print
  4. {
  5. public:
  6.    print()
  7.    {
  8.        std::cout << "Hola Mundo";
  9.    }
  10. }s;
  11.  
  12. int main ()
  13. {
  14.  
  15. }
  16.