Comment puis-je obtenir un pointeur de fonction pour une fonction membre de classe, puis appeler cette fonction membre avec un objet spécifique ? J'aimerais écrire :
class Dog : Animal
{
Dog ();
void bark ();
}
…
Dog* pDog = new Dog ();
BarkFunction pBark = &Dog::bark;
(*pBark) (pDog);
…
Aussi, si possible, j'aimerais également appeler le constructeur via un pointeur :
NewAnimalFunction pNew = &Dog::Dog;
Animal* pAnimal = (*pNew)();
Est-ce possible et, dans l'affirmative, quelle est la meilleure façon de le faire ?