以此类为例:
class CA
{
public:
CA(CString str)
{m_str = str;}
void Fff(CString str)
{cout<<str<<m_str<<endl;}
public:
CString m_str;
}
//函数:
void f1(CA *a, void(CA::*f)(CString), CString str)
{ (a->*f)(str); }
用例:
void main()
{
CA aa("123");
f1(&a, &CA::Fff, "bbb");
}
//模板函数
template<class _Ty>
void f1(_Ty* a, void(_Ty::*f)(Ctring), Cstring str);
f1<CA>(&a, &CA::Fff, "bbb");