I'm not sure how to write a copy constructor that would construct a copy that would append rather than push, such that the result isn't backwards. Below is a provided main.h file for context purposes main.h: #pragma once #include 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); void Stack::append(char c); };
I'm not sure how to write a copy constructor that would construct a copy that would append rather than push, such that the result isn't backwards.
Below is a provided main.h file for context purposes
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);
void Stack::append(char c);
};

Trending now
This is a popular solution!
Step by step
Solved in 2 steps with 1 images









