C++模板(template)

来源:互联网 发布:监控摄像头客户端软件 编辑:程序博客网 时间:2024/06/05 16:56
  • template与typename
template<typename T> void swap(T& t1, T& t2);template<typename  T> void swap(T& t1, T& t2) {    T tmpT;    tmpT = t1;    t1 = t2;    t2 = tmpT;}int main() {    //模板方法     int num1 = 1, num2 = 2;    swap<int>(num1, num2);    printf("num1:%d, num2:%d\n", num1, num2);      return 0;}
  • template与class
template <class T> class Stack {    public:        Stack();        ~Stack();        void push(T t);        T pop();        bool isEmpty();    private:        T *m_pT;                int m_maxSize;        int m_size;};template <class  T>  Stack<T>::Stack(){   m_maxSize = 100;         m_size = 0;   m_pT = new T[m_maxSize];}template <class T>  Stack<T>::~Stack() {   delete [] m_pT ;}template <class T> void Stack<T>::push(T t) {    m_size++;    m_pT[m_size - 1] = t;}template <class T> T Stack<T>::pop() {    T t = m_pT[m_size - 1];    m_size--;    return t;}template <class T> bool Stack<T>::isEmpty() {    return m_size == 0;}int main() {    Stack<int> intStack;    intStack.push(1);    intStack.push(2);    intStack.push(3);    while (!intStack.isEmpty()) {        printf("num:%d\n", intStack.pop());    }    return 0;}
原创粉丝点击