I want you to add some functionality to the class. Please add a member function named “isEmpty” that returns true only i
Posted: Fri Apr 29, 2022 6:33 am
I want you to add some functionality to the class. Please add a
member function named “isEmpty” that returns true only if the stack
is empty. Please add a member function named clear that removes all
elements from the stack. Also, add the ability to write a stack to
an ostream and please separate with commas and including a trailing
comma. Lastly, add the Rule of Three functions as this class uses
dynamic memory and should take care not to leak any memory should
make deep copies
main.h :
#pragma once
#include <iostream>
class Node {
public:
char letter;
Node* down;
Node(char c) : letter(c), down(nullptr) {}
};
class Stack {
private:
Node* top_ = nullptr;
public:
Stack() = default;
void push(char c);
char top();
void pop();
bool isEmpty();
void clear();
friend std::ostream& operator<<(std::ostream& os, Stack const& s);
~Stack();
Stack& operator=(Stack other);
Stack(Stack const& other);
};
member function named “isEmpty” that returns true only if the stack
is empty. Please add a member function named clear that removes all
elements from the stack. Also, add the ability to write a stack to
an ostream and please separate with commas and including a trailing
comma. Lastly, add the Rule of Three functions as this class uses
dynamic memory and should take care not to leak any memory should
make deep copies
main.h :
#pragma once
#include <iostream>
class Node {
public:
char letter;
Node* down;
Node(char c) : letter(c), down(nullptr) {}
};
class Stack {
private:
Node* top_ = nullptr;
public:
Stack() = default;
void push(char c);
char top();
void pop();
bool isEmpty();
void clear();
friend std::ostream& operator<<(std::ostream& os, Stack const& s);
~Stack();
Stack& operator=(Stack other);
Stack(Stack const& other);
};