我一直在尝试将 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))) { 温度=顶部; 顶部=顶部->下一个; 删除临时; } }
希望我的意思现在很清楚,抱歉这个小问题:(
提前致谢。