Stack ADT C++ Functions

  abstract, c++, output, stack, types

So recently i started to getting into stacks ADT in c++ and i am trying to create a small program which the user inserts a string and the output should be in reverse order
But something is going wrong with my code or i am missing something but i cant figure it out
My output so far is that i can insert the string but then it just output the couts "Reverse string" and nothing else
i tried several ways like to change the pop function but nothing changed
Thank you for any help

#include <iostream>
#include <string>

using namespace std;
class ReverseString {
public:
     string str[13];
     int topStack;

ReverseString() {
    topStack = -1;
}

string Push() {
    //char item;
    string str("");
    
    cout << "Enter a string " << endl;
    cin >> str;
    
    for (char ch : str) {

        topStack++;
//          str[topStack] = item;
        return str;
    }
}

string Pop() {
    string temp= str[topStack];
    
    for (int i = 0; i <= 13; i++) {
        str[i] = temp;
        //temp = str[i - 1];
        cout << "Reverse String: " << str[topStack] << endl; 
    
        return temp; 
    }
    }
};

// main function
int main() {
    
    ReverseString str;
    str.Push();
    str.Pop();

    return 0;
}

Source: Windows Questions C++

LEAVE A COMMENT