template<class T>
public:
CPfunc(T* fnclass)
{
FnClass = fnclass;
(FnClass->*fn)()
}
virtual ~CPfunc(){ }
private:
T* FnClass;
func fn;
};