// Eg10-11.cpp #include using namespace std; const int MAX = 3; class Full { int a; public: Full(int i) : a(i) {} int getValue() { return a; } }; class Empty {}; class Stack { private: int s[MAX]; int top; public: Stack() { top = -1; } void push(int a) { if (top >= MAX - 1) throw Full(a); s[++top] = a; } int pop() { if (top < 0) throw Empty(); return s[top--]; } }; int main() { Stack s; try { s.push(10); s.push(20); s.push(30); s.push(40); } catch (Full e) { cout << "Exception: Stack Full..." << endl; cout << "The value not push in stack:" << e.getValue() << endl; } }