[C con Clase] Puntero a objecto y puntero de metodo
Steven Davidson
srd4121 en njit.edu
Mie Abr 25 14:17:34 CEST 2012
Hola Ezequiel,
On 4/25/2012 7:56 AM, Ezequiel Hernan Di Giorgi wrote:
> Hola en ocaciones haciendo uso de API's, envia a funciones callback,
> el puntero de mi objecto y el puntero de mi funcion.
>
> foo (&mi_objecto,&mi_clase::metodo);
>
> Yo me pregunto como hace esa funcion para llamar la funcion "metodo"
> del objecto "mi_objecto"?
>
Un uso típico es usar plantillas, asc que lo más seguro es que 'foo()'
sea una función plantilla definida así,
template< typename T >
void foo( T *ptr, T::*pm )
{
ptr->*pm();
}
Como puedes ver para este caso, usamos el operador ->* ya que el objeto
es un puntero junto con el puntero a función miembro. Para más
información, consulta el capítulo 41 de nuestro curso de C++ yendo a:
http://c.conclase.net/curso/index.php?cap=041#inicio
Espero haber aclarado la duda.
Steven
Más información sobre la lista de distribución Cconclase