使用类模板对类进行泛型化

来源:互联网 发布:led控制软件下载 编辑:程序博客网 时间:2024/06/05 06:07

问题
给出一个使用模板实现一个stack的例子(只需要类声明,而不需要具体的定义和实现);
分析
Stack的实现可以用数组,也可以用链表,这里我用的动态数组的方法定义栈。
代码

template <class T>class Stack{public:        Stack(int len = 10);        ~Stack(){            delete [] stackPtr;            }        int push(const T&);        int pop(T&);        int isEmpty()const{            return top == -1;        }        int isFull()const{            return top == size -1 ;        }private;        int size;        int top;        T* stackPtr;};

由于使用了模板,进栈和退栈的参数以及用于保存动态数组指针的stackPtr的类型都使用了T.这样实现的stack可以用于各种类型的元素。如int,float,类等等。

阅读全文
0 0