代码包含一个自定义类型的栈,先进先出,使用[]提取栈中内容,使用std::cout进行输出内容。
#include
using namespace std;
template
class Stack{
private:
T* stack;
int len;
public:
Stack():len(0){
stack = new T[100];
};
Stack(Stack &a){
this->stack = new T[100];
this->len = a.len;
for(int i=0; istack[i] = a[i];
}
}
~Stack(){
delete[] stack;
};
void pop(const T a){
stack[len]=a;
len++;
}
void push(){
len--;
}
T operator[](const int a){
if(a
ostream & operator<<(ostream &out, Stack st){
int i = 0;
for(;i st;
st.pop(1);
st.pop(2);
st.pop(3);
st.push();
cout << st << endl;
Stack st1;
st1.pop("aaa");
st1.pop("bbb");
st1.pop("ccc");
st1.push();
cout << st1 << endl;
}
以下为输出结果
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)