Estoy escribiendo una clase llamada GUI para una interfaz de un prototipo de videojuego.
Ya tengo todo bastante pensado, como crear input boxes, botones y demas, pero el problema viene a la hora de querer que cada objeto haga una funcion distinta.
Habia pensado en dar a cada objeto unas funciones con nombre onEnter, onFocus y onClick para que defina que debe hacer el programa cuando estos eventos ocurran (parecido a como lo hace Javascript) y pasar estas funciones como parametro en el constructor a la hora de crear el objeto.
Para que quede claro, ami me gustaria poder definir una funcion en mi programa, y luego pasar un puntero a esa funcion como parametro al constructor de la clase, para que guarde la direccion de memoria de esa funcion en la propia clase, y yo ejecutarla cuando el evento ocurra.
Por poner un ejemplo:
Código:
Es solo un ejemplo pero no se si habrá quedado del todo claro...class MiClase { public: void onClick(); MiClase(void (*funcion_de_prueba)()) { onClick = funcion_de_prueba; } } void funcion() { cout << "Hola!"; } MiClase e(funcion); e.onClick(); // Aqui deberia mostrar "Hola!" en la consola
Un saludo, espero que puedan ayudarme.