我一直在尝试将 Stacks 表示为模板,我使用了一个 struct 并且一切都很好,但是每次我想编写模板函数时,我都必须编写相同的模板语句,这似乎不正确 - 尽管在职的-
那么如何为所有函数编写一个模板语句?,这是我的代码:
模板 <类型名 T>
结构栈
{
T值;
堆栈*下一个;
};
模板 <类型名 T>
无效推送(T 值,堆栈* &顶部)
{
堆栈 * 单元 = 新堆栈();
单元格->值 = 值;
单元格->下一个 = 顶部;
顶部 = 单元格;
};
模板 <类型名 T>
布尔 IsEmpty(堆栈 * 顶部)
{
返回(顶部==0);
}
模板 <类型名 T>
void Pop(T &Value,Stack* &Top)
{
如果(IsEmpty(顶部))
cout * 温度 = 顶部;
价值=顶部->价值;
顶部=顶部->下一个;
删除临时;
}
}
模板 <类型名 T>
void GetTop(T &Value, Stack* &Top)
{
如果(IsEmpty(顶部))
cout 值;
}
模板 <类型名 T>
void EmptyStack(Stack * &Top)
{
堆栈*温度;
而 (!(IsEmpty(Top)))
{
温度=顶部;
顶部=顶部->下一个;
删除临时;
}
}
希望我的意思现在很清楚,抱歉这个小问题:(
提前致谢。