c++ 模板类实现堆栈实验报告_C++ 模板应用举例_模板实现STL类(堆栈)

//stack集合类是一个简单的堆栈的实现。

//这里有两个模板参数,T和size,指定堆栈中的元素类型和堆栈中项数的最大值。

//push 和 pop成员函数添加和删除堆栈中的项,并在堆栈底部增加。

#include

#include

#include

using namespace std;

template //出错点

class stack

{

private:

T items[size];

int top;

const int MaxSize;

public:

stack():MaxSize(size)

{

top=-1;//指向栈底

}

bool IsFull();

bool IsEmpty();

void push(const T item);

T pop();

};

template

bool stack::IsFull()

{

if(top==MaxSize-1)

{

return true;

}

else

{

return false;

}

}

template

bool stack::IsEmpty()

{

if (top==-1)

{

return true;

}

else

{

return false;

}

}

template //出错点

void stack::push(const T item)

{

if (IsFull())

{

cout<

return;

}

else

{

items[++top]=item;

}

}

template

T stack::pop()

{

if (!IsEmpty())

{

return items[top--];

}

else

{

cout<

return 0;

}

}

void main()

{

//stack s;//栈中存放字符串

stack s; //栈中存放整型数据

while(!s.IsFull())

{

//s.push("123");//字符串入栈

s.push(1);//整型数据入栈

}

while(!s.IsEmpty())

{

cout<

}

system("pause");

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值