首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

有没有可能实现这样的设计?——关于一个类的接口设计有关问题

2012-03-01 
有没有可能实现这样的设计?——关于一个类的接口设计问题大家好。我在尝试封装一个比较通用的socket类。实际上

有没有可能实现这样的设计?——关于一个类的接口设计问题
大家好。

我在尝试封装一个比较通用的socket类。实际上,服务器和客户端通信,主要就是根据不同的命令执行不同的操作而已,那么我就想开放一个接口,让这个socket类的用户能把用户自己的类的成员函数指针设进来,然后根据不同的命令执行不同的函数。

因为想把这个socket类做得更通用一些,所以就希望无论用户的类是什么类,都能把他们各自的类的成员函数指针设进来。请问有没有办法做到?

我一开始尝试用模板,但是遇到了问题——

template <class T>
typedef DWORD (T::*MEMFUNCPTR)(void);
class CMySocket
{……

编译不通过。貌似模板不允许这样用。

请问大家,有没有什么办法可以达到这个设计的目的呢?谢谢!

[解决办法]
则个贴怎么没人回,我也想知道呢 呵呵
[解决办法]
有啊,boost::function+bind库。
[解决办法]
STL有mem_fun
[解决办法]
把typedef放到类里面:
template <class T>
class CMySocket
{
typedef DWORD (T::*MEMFUNCPTR)(void);
……

热点排行