⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stack.h

📁 银行收支管理系统,用VC实现,竭诚欢迎大家提供建议.
💻 H
字号:
#include "exception.h"

#ifndef STACK
#define STACK


template<typename T,int stack_capacity>
class Stack{
public:
	Stack():mytop(-1){  myarray = new T[stack_capacity];}
	~Stack(){ delete []myarray;}
	bool empty(){ return mytop == -1;}
	bool full() { return mytop == stack_capacity-1;}
	void push(const T&);
	void pop();
	T gettop();
	void display(ostream &);
private:
	T *myarray;
	int mytop;
};

template<typename T,int stack_capacity>
void Stack<T,stack_capacity>::push(const T &value){
	if( full())
		throw pushOnFull<T>(value);
	else
		myarray[++mytop] = value;
}

template<typename T,int stack_capacity>
void Stack<T,stack_capacity>::pop(){
	if( empty())
		throw popOnEmpty<T>();
	else
		mytop--;
}

template<typename T,int stack_capacity>
T Stack<T,stack_capacity>::gettop(){
	if(empty())
		throw popOnEmpty<T>();
	else
		return myarray[mytop];
}

template<typename T,int stack_capacity>
void Stack<T,stack_capacity>::display( ostream &os)
{
	for( int i=0;i<= mytop;i++)
		os<< myarray[i] <<" ";
}
#endif

	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -