Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Como pasar clases como parametros de funcion?

Estas en el tema de Como pasar clases como parametros de funcion? en el foro de C/C++ en Foros del Web. hola amm pues eso quiero pasar una clase a una funcion para usar las funciones de la clase dentro de la funcion, jeje tal vez ...
  #1 (permalink)  
Antiguo 28/02/2011, 20:37
Avatar de drilisheros  
Fecha de Ingreso: febrero-2011
Mensajes: 2
Antigüedad: 13 años, 1 mes
Puntos: 0
Pregunta Como pasar clases como parametros de funcion?

hola
amm pues eso quiero pasar una clase a una funcion para usar las funciones de la clase dentro de la funcion, jeje tal vez ya los revolvi quiero mas o menos algo asi:
Código C++:
Ver original
  1. // Esta es mi clase
  2. class Operaciones{
  3.  
  4.   int Sumar(int X,int Y){
  5.     return (X+Y);}    
  6. };
  7.  
  8. // Esta es la funcion a la que quiero pasar mi clase
  9. int Operar(int op){
  10.   int a = op.Sumar(2,2);
  11.   return a;
  12. }
  13.    
  14. int main(){
  15.   Operaciones ops;
  16.   // Supongo que aqui es el problema por que pasandola
  17.   // asi me da error de que la funcion Sumar
  18.   // no esta declarada.
  19.   Operar(ops);
  20. }
  #2 (permalink)  
Antiguo 28/02/2011, 21:09
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: Como pasar clases como parametros de funcion?

Fijate que en la funcion Operar el argumento es un entero y vos le estas pasando un objeto Operaciones.
  #3 (permalink)  
Antiguo 01/03/2011, 13:48
Avatar de drilisheros  
Fecha de Ingreso: febrero-2011
Mensajes: 2
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Como pasar clases como parametros de funcion?

Emm si tienes razon, pero tengo otra duda, estoy usando SDL y C++ por primera vez y ando un poco perdido, esto es un ejemplo de lo que tengo.

Una clase que actua como director esta cambia de escena y ejecuta sus eventos, actualiza y dibuja digamos que es la que maneja todo:
Código C++:
Ver original
  1. class Director{
  2. public:
  3.   int Inicializar(){
  4.     codigo...}  
  5.   void Bucle(){
  6.     while...
  7.     codigo....
  8.     escena.Eventos();
  9.     escena.Actualizar();
  10.     escena.Dibujar(pantalla);
  11.     codigo...}
  12.   int CambiarEscena(Escena escenat){
  13.     Escena escena;
  14.     escena = escenat;
  15.     escena.Inicializar();}
  16.   void Quit(){
  17.     codigo...}
  18. };
Tambien tengo una clase Escena que la uso como "modelo" para crear escenas todas las demas escenas herendan(no se si se diga asi) de esta:
Código C++:
Ver original
  1. class Escena{
  2.  
  3. public:
  4.   bool Inicializar(){}
  5.   void Eventos(){}
  6.   void Actualizar(){}
  7.   int Dibujar(SDL_Surface *pantalla){}
  8. };
Todas las escenas tienen la misma estructura.

Entonces en el main lo que hago es esto:
Código C++:
Ver original
  1. int main (int argc, char * argv []){
  2.   Director Dir;
  3.   EscenaIntro EsIn;
  4.  
  5.   Dir.Inicializar();
  6.   Dir.CambiarEscena(EsIn);
  7.   Dir.Bucle();
  8. }

Ahora el problema es que no me da error alguno todo me lo compila y ejecuta bien, pero por alguna extraña razon no ejecuta las funciones Eventos Actualizar y Dibujar de la EscenaIntro por que el bucle funciona, se repite y repite como cualquier bucle normal xD, pero no ejecuta las funciones de la escena, entonces si pongo el bucle y todo en el main sin pasar por el director todo funciona perfectamente.

Bueno espero me hallan entendido y me puedan ayudar.

Gracias por adelantado

Etiquetas: clases, funcion, parametros, pasar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:44.