1: //stack04.cpp
3: #include <iostream>
4: #include <stack>
5: using namespace std;
7: int main()
8: {
9: cout << "\nThis program illustrates how *not* to access the "
10: "components of a stack.";
11: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n');
13: stack<char> s;
14: s.push('A');
15: s.push('B');
16: s.push('C');
17: s.push('D');
19: cout << "\nThe stack s contains " << s.size() << " values.";
20: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n');
22: cout << "\nNow we attempt to display the values in the stack "
23: "using a for-loop and\nchecking the size of the stack to "
24: "determine when to stop.";
25: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n');
27: cout << "\nHere they are, in \"LIFO\" order:\n";
28: for (stack<int>::size_type i=1; i<=s.size(); i++) //Whoops!
29: {
30: cout << "Popping: ";
31: cout << s.top() << "\n";
32: s.pop();
33: }
34: cout << "Press Enter to continue ... "; cin.ignore(80, '\n');
35: }