Hola a todos,
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:
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
Es solo un ejemplo pero no se si habrá quedado del todo claro...
Un saludo, espero que puedan ayudarme.