定义一个指向非静态成员函数的指针必须在三个方面与其指向相同的成员函数保持一致:参数列表要相同、返回类型要相同、所属的类型要相同
定义
<数据类型>(<类名>::*<指针名>)(<参数列表>)
赋值与初始化
<数据类型>(<类名>::*<指针名>)(<参数列表>) = &<类名>::<非静态成员函数>
解引用
由于类不是运行时存在的对象,因此,在使用这类指针时,需要首先指定类的一个对象,然后,通过对象来引用指针所指向的成员。
(<类对象名>.*<指向非静态成员函数的指针>)(<参数列表>)
(<类对象名>->*<指向非静态成员函数的指针>)(<参数列表>)