C++的中抽象
时间:2010-11-21 来源:teiller2008
[NextPage]
}
private:
T *tu;
PFUN1 fun1;
PFUN2 fun2;
};
class test
{
public:
void test1( void )
{
::MessageBox( NULL, \"Test\", \"test...ok!\", MB_OK );
}
};
int main()
{
using namespace std;
list< parent* > plist;
parent *par = new child<test>( test::test1 );
plist.push_back( par );
.........................
}
在这个例子中我只引用了两种类型的member function pointer:
typedef void (T::*PFUN1)( void );
typedef int (T::*PFUN2)( char* );
按上面的方法很容易扩展到其他函数类型。Construct child( PFUN1 p1, PFUN2 p2 )只是为了说明一个class object可以注册多种方法。更好的做法可能是将函数注册功能独立成一个函数。
相关阅读 更多 +