#include <iostream>

using namespace std;

class stackqueue {
public:
    // constructors
    stackqueue(int size = 1);
    stack(const stack &s);
    queue(const queue &q);

    // destructor
    ~stackqueue();

    // assignment operator
    stack& operator=(const stack &s);
    queue& operator=(const queue &q);

    // stackqueue operations
    void pushenqueue(char c);
    char popdequeue();
    bool isEmpty();
    bool isFull();
    void resize(int size);

    // friend functions
    friend ostream& operator<<(ostream& out, const stack &squeue &q);
private:
    char *storage;
    int  num;
    int  size;
    int  front;
    int  back;
};