C中实现模板

来源:百度知道 编辑:UC知道 时间:2024/07/05 03:18:16
typdef struct{
int a;
}TypeA;

typedef sturct{
int p;
int q;
}TypeB;

typedef struct{
char x;
char y;
char z;
}TypeC;

我想将这三种类型保存在三个顺序表中


SqList A(ElemType TypeA)
SqList B(ElemType TypeB)
SqList C(ElemType TypeC)

现给出普通的Sqlist定义
typedef int ElemType; //基本类型为整型

#define LIST_INIT_SIZE 100 //初始分配量
#define LISTINCREMENT 10 //分配增量
typedef struct{
ElemType *elem; //基址
int length; //长度
int listsize; //分配容量
}SqList;

Status InitList_Sq(SqList &L)
{
L.elem=(ElemType *)malloc(LIST_INIT_SIZE*sizeof(ElemType));
if (!L.elem) exit(OVERFLOW);
L.length=0;
L.listsize=LIST_INIT_SIZE;
return OK;
} //InitList_Sq

如何修改InitList_Sq(SqList &L)和设置才能成功调用InitList_Sq如以下操作:
InitList(A);
InitList(B);
Init

可以用模板实现。不能因为不知道就说不能实现,C无所不能。

具体实现给楼主发到站内信了。
有问题站内联系

模版的功能,不能用C语言实现的!

这种功能,需要编译器的支持。

如果你不是想重载的话,倒是可以实现的。
你最好把问题再简化一下,我觉得我还不太理解你的意思。

重载吧,其实模板也是重载,只不过编译器自动生成代码而已

我做不来哦

c语言里面重载吗。。。。。