class Base_Op
{
public:
virtual std::string get_name() {return std::string("Base_Op");}
};
typedef std::string (Base_Op::*PTRFUNC)();
class Op1 : public Base_Op
{
public:
virtual std::string get_name() { return std::string("Op1");}
}
void main()
{
PTRFUNC func = &Base_Op::get_name;
Op1* a = new Op1();
std::string s = (a->*func)();
delete a;
a = NULL;
}
派生类指针调用基类的成员函数的函数指针,执行的是派生类的该函数。