鱼C论坛

 找回密码
 立即注册

C++学习,第四十五课

已有 671 次阅读2014-8-27 10:21 |个人分类:作业

#include<iostream>
#include<string>

template<class T>
class Stack
{
public:
    Stack(unsigned int size=100);
    ~Stack();
    void push(T value);
    T pop();

private:
    unsigned int size;
    unsigned int sp;
    T *data;
};

template<class T>
Stack<T>::Stack(unsigned int size)
{
    this->size = size;
    data = new T;
    sp = 0;
}

template<class T>
Stack<T>::~Stack()
{
    delete []data;
}

template<class T>
void Stack<T>::push(T value)
{
    data[sp++] = value;
}

template<class T>
T Stack<T>::pop()
{
    return data[--sp];
}

int main()
{
    Stack<int>intStack(100);
    intStack.push(1);
    intStack.push(2);
    intStack.push(3);
    std::cout << intStack.pop() << "\n";
    std::cout << intStack.pop() << "\n";
    std::cout << intStack.pop() << "\n";

    system("pause");
    return 0;
}

路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-27 19:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

返回顶部