c++day6 多态、虚函数、模板

 

作业: 用模板函数完成顺序栈

#include 
#define MAXSIZE 20

using namespace std;

//定义节点,使用模板类
template
class Stack
{
public:
    T data[MAXSIZE]; //栈满
    int top = -1;      //栈底 栈空
    T dat;   //数据
public:
    Stack() {}
    Stack(T d);   //类内声明
    ~Stack();    //类内声明
    T push();   //函数声明
    T pop();
    void output();
};

template
Stack::Stack(T d):dat(d)
{
    T push()  //插入
    {
        if(this->top == MAXSIZE-1)//判断栈是否为满
            return -1;
        this->dat[++this->top] = e;    //入栈 先加后压
        return 0;
    }
    T pop()  //删除
    {
        if(this-> == -1)
            return -1;
        cout<<"出栈的元素是 "<dat[this->top--];  //删除 先弹后减
    }

    void output()   //栈的遍历
    {
        cout<<"从栈顶到栈底 "<top; i++)
        {
            cout<<"this->dat[i] = "<dat[i]<<" ";
        }
    }

}



int main()
{
    Stack n1(520);//       类模板要显式调用
    n1.push();  //插入整数
    Stack n2(' ');
    n2.push();   //插入字符
    Stack n3(7.5);
    n3.push();    //插入小数
    n1.pop();
    n2.pop();
    n3.pop();
    n1.output();
    n2.output();
    n3.output();

    return 0;
}

你可能感兴趣的:(c++,算法,开发语言)