Stack

template <class item_type, int max_size>

class stack

{

stack();

boolean is_empty();

boolean is_full();

void push(item_type new_item);

item_type top();

void pop();

~stack();

};

template <class item_type, int max_size>

class stack : public list<item_type,max_size>

{

void push(item_type new_item);

item_type top();

void pop();

};

template <class item_type, int max_size>

class stack : public list<item_type,max_size>

{

public:

void push(item_type new_item)

{insert_before(new_item);}

item_type top()

{return current_item();}

void pop()

{erase();}

};

template <class item_type, int max_size>

class stack : public list<item_type,max_size>

{

public:

void push(item_type new_item)

{

if(is_empty()) insert_before(new_item);

else insert_after(new_item);

}

item_type top()

{return current_item();}

void pop()

{erase();cursor--;}

};