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. Use an instance of stack from to hold string values and implement the same interface as the data type. However, your implementation (class) should throw an exception if an attempt is made to remove a value from an empty stack. See Chapter 17 of the book for how to complete this assignment. TEXT is BIG C++ free pdf. https://vk.com/doc-38203920_235034518 I am having issues getting code to compile. Need HELP ASAP // File: SafeStack.h #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 ——————————————————————- // File: SafeStack.cpp #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 -------------------------------------------------------------------- // File: Test.cpp #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 ...

Looking for a solution written from scratch with No plagiarism and No AI?

WHY CHOOSE US?

We deliver quality original papers

Our experts write quality original papers using academic databases.We dont use AI in our work. We refund your money if AI is detected  

Free revisions

We offer our clients multiple free revisions just to ensure you get what you want.

Discounted prices

All our prices are discounted which makes it affordable to you. Use code FIRST15 to get your discount

100% originality

We deliver papers that are written from scratch to deliver 100% originality. Our papers are free from plagiarism and NO similarity.We have ZERO TOLERANCE TO USE OF AI

On-time delivery

We will deliver your paper on time even on short notice or  short deadline, overnight essay or even an urgent essay