C语言中覆盖库函数

#include <stdio.h>

int (*function)(int ch);

void init()
{
function = putchar;
}


#define putchar(X) xputchar(X)

int xputchar(int ch)
{
printf("You got it! : ");
function(ch);
return ch;
}


int main()
{
init();
putchar('A');
printf("\n");
return 0;
}

如上代码所示,可实现类似于Java中装饰者模式的行为追加效果。

posted @ 2012-02-10 09:19  倾越  阅读(1540)  评论(0编辑  收藏  举报