xyjzsh

c语言中模拟动态绑定

struct本身不能支持动态绑定,为了实现统一接口,我们希望实现动态绑定。
例如在不同的操作系统下,对文件的操作是不同,但是我们希望统一结构,有如下结构
struct OSFile
{
    PIOMethod pMethods;
   /*
   其他信息
  */
};

struct WinOSFile
{
PIOMethod pMethods;
..........
};

struct UnixOSFile
{
PIOMethod pMethods;
..........
};

有如下方法:
void UniAPI(OSFile *file);
为了实现动态绑定,做法是在调用该方法之前,将WinOSFile或者UnixOSFile的pMethods赋给OSFile的pMethods从而实现动态绑定。

posted on 2011-04-26 15:30 呆人 阅读(499) 评论(0)  编辑 收藏 引用 所属分类: 数据结构


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2011年4月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

导航

统计

常用链接

留言簿(1)

随笔分类

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜