#ifndef __STACKERROR_HPP__ #define __STACKERROR_HPP__ #include "Error.h" class StackError :public Error { public: StackError(const std::string& func = "", const std::string& fname = "", const int line = -1) :Error(func, fname, line){} virtual std::string message() const { return "Stack Error: " + msg; } }; class StackUnderflowError: public StackError { public: StackUnderflowError(const std::string& func = "", const std::string& fname = "", const int line = -1) :StackError(func, fname, line) {} virtual std::string message() const { return "Stack Underflow Error: " + msg; } }; class StackOverflowError : public StackError { public: StackOverflowError(const std::string& func = "", const std::string& fname = "", const int line = -1) :StackError(func, fname, line) {} virtual std::string message() const { return "Stack Overflow Error: " + msg; } }; #endif