怎么样在C语言中实现模板函数?

怎么样在C语言中实现模板函数?

C 语言中实现模板函数的方法(续):

/* 定义一个宏,用来连接两个标识符:*/

#define MAKE_NAME(className, methodName) calssName##__##methodName

/* 模板源文件:template.c

* 必须重定义的宏:TheClass

* 其它需要重定义的宏(如对一个搜索树的实现,需要比较元素或键值大小的宏)

*

*/

Int MAKE_NAME(TheClass, Method1) (int param1, int param2)

{

….

Return 0;

}

Int MAKE_NAME(TheClass, Method2) (int param1, int param2)

{

….

Return 0;

}

Int MAKE_NAME(TheClass, Method3) (int param1, int param2)

{

….

Return 0;

}

…..

/* 引用该模板的文件:samp1.c */

#undef TheClass

#define TheClass Class1

#include template.c

/* end samp1.c */