Click on stack_queue.h to get source.
// File Circlist/MultInher/stack_queue.h

#include "circlist.h"
#include "stack.h"
#include "queue.h"
#include <cstring>

// multiple inheritance example (somewhat constructed for demo purposes)
class stack_queue : public stack, public queue, public virtual circlist {
public:
     stack_queue(void) {}

     // somehow the default copy constructor causes a compilation error under g++
     // stack_queue(const stack_queue& sq) {// should copy circlist of sq here
     //                                    }

void entersq(int x, char* how)
     {if (strcmp(how, "FILO"))
         stack::push(x); // push is ambiguous
      else if(strcmp(how, "FIFO"))
         enterq(x);
      else std::cerr << "Wrong queuing order: " << how << endl;
     }
int leavesq(void) {return circlist::pop(); }
};