// exception7.h By: Aiman Hanna - ©1993-2006 Aiman Hanna #include class ProducerConsumer { public: ProducerConsumer(); bool isEmpty(); bool isFull(); void produceItem( int item = 0); // No need to return bool anymore void consumeItem(); // No need to return bool anymore void setItem(int); void displayBuffContents(); private: int buff[10]; }; class Excp { public: virtual void showExcpMessage(); }; class ProducerConsumerExcp : public Excp { public: virtual void showExcpMessage(); }; class ConsumeOnEmpty: public ProducerConsumerExcp { public: virtual void showExcpMessage(); }; class ProduceOnFull: public ProducerConsumerExcp { public: virtual void showExcpMessage(); }; class ProduceInvalidValue: public ProducerConsumerExcp { public: virtual void showExcpMessage(); void showExcpMessage2(); void showFailedAgainMessage(); };