Stack object data structures do not contain code to throw an exception when a stack.pop() function is called on an empty stack. This is due to the fact that it

Stack object data structures do not contain code to throw an exception when a stack.pop() function is called on an empty stack. This is due to the fact that it is easy to establish this exception handing elsewhere. Create a class named SafeStack that implements a stack of strings. TEXT is BIG C++ free pdf. https://vk.com/doc-38203920_235034518 I am having issues getting code to compile. Need HELP ASAP #ifndef SAFESTACK_H #define SAFESTACK_H // Header files section #include #include #include #include #include #include using namespace std; // definition of the EmptyStackException class class EmptyStackException : public exception { public: EmptyStackException(); }; // definition of the SafeStack class class SafeStack { public: SafeStack(); void push(string str); string top() throw (EmptyStackException); void pop() throw (EmptyStackException); int size(); bool empty(); private: stack stk; }; #endif ——————————————————————- #include “SafeStack.h” // constructor of the EmptyStackException class EmptyStackException::EmptyStackException() : exception(“Stack is empty!”) { } // constructor of the SafeStack class SafeStack::SafeStack() {} // push function implementation void SafeStack::push(string str) { stk.push(str); cout << "One element is inserted in the stack." << endl; } // end of push function // top function implementation string SafeStack::top() throw (EmptyStackException) { // throw the EmptyStackException if the stack is empty if(stk.empty()) throw EmptyStackException(); return stk.top(); } // end of top function // pop function implementation void SafeStack::pop() throw (EmptyStackException) { // throw the EmptyStackException if the stack is empty if(stk.empty()) throw EmptyStackException(); stk.pop(); } // end of pop function // size function implementation int SafeStack::size() { return stk.size(); } // end of size function // empty function implementation bool SafeStack::empty() { return stk.empty(); } // end of empty function -------------------------------------------------------------------- #include "SafeStack.h" // start main function int main() { // create an object for the SafeStack class SafeStack ss; cout << "The number of elements in the stack: " << ss.size() << endl; // try/catch for the top() function try { cout << "The top element in the stack: " << ss.top() << endl; } catch(exception& ex) { cout << "Caught exception for top(): " << ex.what() << endl; } ss.push("John"); ss.push("Smith"); cout << "\nThe number of elements in the stack: " << ss.size() << endl; // try/catch for the top() function try { cout << "The top element in the stack: " << ss.top() << endl; } catch(exception &ex) { cout << "Caught exception for top(): " << ex.what() << endl; } cout << "\nThe number of elements in the stack: " << ss.size() << endl; // try/catch for the pop() function try { ss.pop(); cout << "One element is removed from the stack." << endl; } catch(exception &ex) { cout << "Caught exception for pop(): " << ex.what() << endl; } // try/catch for the top() function try { cout << "The top element in the stack: " << ss.top() << endl; } catch(exception &ex) { cout << "Caught exception for top(): " << ex.what() << endl; } cout << "\nThe number of elements in the stack: " << ss.size() << endl; // try/catch for the pop() function try { ss.pop(); cout << "One element is removed from the stack." << endl; } catch(exception &ex) { cout << "Caught exception for pop(): " << ex.what() << endl; } // try/catch for the top() function try { cout << "The top element in the stack: " << ss.top() << endl; } catch(exception ex) { cout << "Caught exception for top(): " << ex.what() << endl; } cout << "\nThe number of elements in the stack: " << ss.size() << endl; // try/catch for the pop() function try { ss.pop(); cout << "One element is removed from the stack." << endl; } catch(exception &ex) { cout << "Caught exception for pop(): " << ex.what() << endl; } cout << endl; system("pause"); // for Visual Studio return 0; } // end of main function Purchase the answer to view it

Do you need us to help you on this or any other assignment?


Make an Order Now