Pues yo no lo veo muy entendible.
En C++ las clases se definen así:
Código:
/* Archivo de cabecera "miclase.hpp" */
class ESTA_ES_LA_CLASE:public CLASE_BASE
{
public:
void metodo (int parametro);
};
_________________________________________________________________________
/* Archivo fuente "miclase.cpp. */
#include "miclase.hpp"
void ESTA_ES_LA_CLASE::metodo (int parametro)
{
/* Código */
}
Pasar funciones (en realidad, la dirección de una función) es algo más complejo, pero si no sabes de punteros mal lo vas a entender:
Código:
/* Definición del tipo "puntero a función". */
typedef void (*TIPO_FUNCION) (int);
/* Prototipo de la función que queremos pasar como parámetro. */
void funcion_a_pasar (int parametro);
/* Prototipo de la función que recibe. */
int funcion_que_recibe (TIPO_FUNCION fn);
/* Código ejecutable. */
int main (void)
{
if (funcion_que_recibe (&funcion_a_pasar) == 0)
throw "Error";
return EXIT_SUCCESS;
}
¿Te sirve para aclarar dudas o te crea nuevas?