I'm not sure how to write a copy constructor that would construct a copy that would append rather than push, such that t
Posted: Mon May 02, 2022 11:47 am
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);
};
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);
};