class A { public: virtual ~A() {}; virtual int emit(int t, void* a)=0; }; template <class dest_type=""> class B : public A { public: typedef int (dest_type::*classpfn)(int, void*); B(dest_type* pclass, classpfn pfn) : p(pclass), fn(pfn) {}; virtual int emit(int t, void* a) { return (p->*fn)(t, a); } private: dest_type *p; classpfn fn; };
template <class dest_type="">
template<class dest_type="">
dest_type
template<class dest_type>
template
template <class dest_type>
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)