• Martes 14 de Mayo de 2024, 21:23

Autor Tema:  Re: Llama de una Funcion desde otro archivo  (Leído 1890 veces)

Wicked

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Llama de una Funcion desde otro archivo
« en: Sábado 1 de Marzo de 2003, 07:54 »
0
Bueno aver si me explico.
Supongamos que tengo un programa llamado primero.cpp y dentro de este incluyo otro con include <segundo.cpp>

en el main de primero llamo a una funcion
que esta en el incluido segundo y dentro de segundo en una funcion1 en algun lugar llamo a otra funcion que se encuentra en primero.

algo asi
****este es el Archivo Primero.cpp***
#include <segundo.cpp>

main ()
{
  funcion1( );
}

otrafuncion ()
{
----
---
}



***este el el archivo segundo***

funcion1 ()
{
-----
-----
otrafuncion (); <--- e aqui el problema desde aqui no me hacepta esta llamada
}

Claro suponiendo que otrafuncion () es una funcion que tiene que estar forsosamente en el "primero.cpp".

gothmog

  • Miembro activo
  • **
  • Mensajes: 84
    • Ver Perfil
Re: Llama de una Funcion desde otro archivo
« Respuesta #1 en: Sábado 1 de Marzo de 2003, 16:33 »
0
En el archivo segundo debes poner:

#include <primero.cpp>

Astor

  • Miembro MUY activo
  • ***
  • Mensajes: 112
    • Ver Perfil
Re: Llama de una Funcion desde otro archivo
« Respuesta #2 en: Sábado 1 de Marzo de 2003, 22:45 »
0
Mira que yo sepa no es muy usado el recurso de #include para incluir otra cosa que no sean headers, definiciones o macros. Te recomendaria que definas las funciones como externas y publicas segun corresponda, que compiles todo y luego linkees ambos objeto juntos.

observador

  • Miembro activo
  • **
  • Mensajes: 65
    • Ver Perfil
    • http://www.soloprogramacion.net/
Re: Llama de una Funcion desde otro archivo
« Respuesta #3 en: Miércoles 5 de Marzo de 2003, 11:56 »
0
Bien... no tienes que poner

#include<primero.cpp>

en todo caso seria

#include "primero.cpp"

pero tampoco tienes que hacer eso... pues seria como estarse incluyendo el mismo codigo al mismo archivo... No dije que sea incorrecto... no, es correcto pero no es lo mas viable...

Lo mas viable y mas facil es declarar, solo declarar la funcion que esta en el primer archivo, repito, declararla en el segundo archivo... Esto es para que si se compila el segundo archivo para verificar errores de sixtaxis no diga que la funcion que se manda a llamar (que esta en el primer archivo) no existe... Pues como se declaro, el compilador se da por enterado que en alguna parte del programa existe la funcion...

Los archivos quedarian de la siguiente forma:

/******** primero.cpp *******/

#include"segundo.cpp"
void main()
{
//Codigo ejecutable

llamar_a_segundo();

//Mas codigo ejecutable
}

void se_llama_desde_segundo()
{
//Codigo de la funcion
}

/***** fin de primero.cpp *****/

Esto es el codigo que estaria en el primer archivo. Veamos ahora el codigo que estaria en el segundo archivo...


/******** segundo.cpp *******/

//Solo se declara la funcion al principio
//o antes de usarla...
void se_llama_desde_segundo();


void llamar_a_segundo()
{
//Aqui puede haber codigo ejecutable

//Se llama a la funcion se_llama_desde_segundo(); que esta en primero.cpp
se_llama_desde_segundo();
//Aqui puede haber mas codigo ejecutable
}

/***** fin de segundo.cpp *****/

Bien... Estas lineas las probe en el compilador Turbo C++ 3.0 de Borland... y las anexe en un zip adjuto...

Descomprimelas y colocalas en donde tengas instalados el Compilador que uses... de esta forma no necesitaras modificar la ruta en la cabecera del primer archivo...

Para que veas como funciona y en que orden se va ejecutando, ya que tengas abierto el archivo primero.cpp en tu compilador presiona F7 una y otra ves para que se ejecute linea por linea... hasta llegar al fin del programa...

Cualquier duda que haya quedado haganla saber... Suerte y hasta la proxima...
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.
Solo Programacion Net

Hasta pronto...

Wicked

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Llama de una Funcion desde otro archivo
« Respuesta #4 en: Miércoles 5 de Marzo de 2003, 19:26 »
0
Pues muchas gracias a todos por las recomendaciones (sobre todo a ti Observador) que es con tu respuesta con la que e podido hacer correctamente mi programa.