Ну, например, вот так:
тут 3 примера:
— через массив указателей-член классаж
— через локальный массив в функции-членеж
— через массив в функции-не-члене класса. Выбирай, что больше нравится

Кстати, typedef указателя на функцию — это просто для удобства, его можно конечно объявить и не внутри класса, а можно и вовсе не объявлять
#include <iostream.h>
class MyClass {
public:
typedef int(MyClass::*PF)();
int f1(){return 1;}
int f2(){return 2;}
int f3(){return 3;}
MyClass();
void Write();
PF m_pf[3];
};
MyClass::MyClass() {
m_pf[0] = &MyClass::f2;
m_pf[1] = &MyClass::f1;
m_pf[2] = &MyClass::f3;
for(int i=0;i<3;i++)
cout<<(this->*m_pf[i])()<<endl;
}
void MyClass::Write() {
PF pf[] = {f3,f2,f1,};
for(int i=0;i<3;i++)
cout<<(this->*pf[i])()<<endl;
}
int main(int argc, char* argv[])
{
int(MyClass::*pf[])() = {MyClass::f1, MyClass::f2, MyClass::f3};
MyClass mc;
for(int i=0;i<3;i++)
cout<<(mc.*pf[i])()<<endl;
mc.Write();
return 0;
}
"Количество времени, необходимое для решения задачи, не зависит от того, было это время использовано для решение данной задачи или нет." ©Mikka77