Question: Please help! it's not compiling. #ifndef DYNAMICSTACK_H_INCLUDED #define DYNAMICSTACK_H_INCLUDED // Specification file for the DynamicStack class class DynamicStack { private: // Structure for stack nodes

Please help! it's not compiling.

#ifndef DYNAMICSTACK_H_INCLUDED #define DYNAMICSTACK_H_INCLUDED

// Specification file for the DynamicStack class

class DynamicStack { private: // Structure for stack nodes struct StackNode { int value; // Value in the node StackNode *next; // Pointer to the next node };

StackNode *top; // Pointer to the stack top

public: // Constructor DynamicStack() { top = nullptr; }

// Destructor ~DynamicStack();

// Stack operations void push(int); void pop(int &); bool isEmpty(); }; #endif

(main function)

#include #include "DynamicStack.h" using namespace std;

//************************************************** // Destructor * // This function deletes every node in the list. * //**************************************************

DynIntStack::~DynamicStack() { StackNode *nodePtr = nullptr, *nextNode = nullptr;

// Position nodePtr at the top of the stack. nodePtr = top;

// Traverse the list deleting each node. while (nodePtr != nullptr) { nextNode = nodePtr->next; delete nodePtr; nodePtr = nextNode; } }

//************************************************* // Member function push pushes the argument onto * // the stack. * //*************************************************

void DynamicStack::push(int num) { StackNode *newNode = nullptr; // Pointer to a new node

// Allocate a new node and store num there. newNode = new StackNode; newNode->value = num;

// If there are no nodes in the list // make newNode the first node. if (isEmpty()) { top = newNode; newNode->next = nullptr; } else // Otherwise, insert NewNode before top. { newNode->next = top; top = newNode; } }

//***************************************************** // Member function pop pops the value at the top * // of the stack off, and copies it into the variable * // passed as an argument. * //*****************************************************

void DynamicStack::pop(int &num) { StackNode *temp = nullptr; // Temporary pointer

// First make sure the stack isn't empty. if (isEmpty()) { cout << "The stack is empty. "; } else // pop value off top of stack

{ num = top->value; temp = top->next; delete top; top = temp; } }

//***************************************************** // Member function isEmpty returns true if the stack * // is empty, or false otherwise. * //*****************************************************

bool DynamicStack::isEmpty() { bool status;

if (!top) status = true; else status = false;

return status; }

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!