这里有很好的描述了如何通过指针调用成员函数: http://www.newty.de/fpt/functor.html是否有可能在C++中将指针类成员作为单个参数传递?
但仿函数需要获得2个参数:指针到对象,指针到成员函数:
TSpecificFunctor(TClass* _pt2Object, void(TClass::*_fpt)(const char*))
{ pt2Object = _pt2Object; fpt=_fpt; }
拨打:
(*pt2Object.*fpt)(string);
是否有可能通过一个参数,如C-风格:
func() -- call
func -- function pointer
为什么obj.method不是完整的指针类成员?
您能否澄清一下声明“为什么obj.method不是完整的指针类-会员?”这是什么意思? – Naveen 2012-07-05 09:04:20
'(* pt2Object。* fpt)(string);'不起作用。你需要'(pt2Object - > * fpt)(string);'。 – Potatoswatter 2012-07-05 09:06:28
Naveen,我想获得指向特定对象(obj)和特定类成员(成员)的单个参数。但似乎我开始明白......多态性并没有给我潜力做我想做的事。 – legotron 2012-07-05 09:11:23