The ADT's interface
Testing private and public operations
Testing private and public operations
Here is a program that will test the operations of the struct ch_stack:
#include <iostream> //Reverse a string with a ch_stack. int main() { ch_stack s; char str[max_len] = { "My name is Don Knuth!"}; int i = 0; cout<< str << endl; s.reset(); //s.top = EMPTY;would be illegal while (str[i]) if (!s.full()) s.push(str[i++]) else break; while (!s.empty()) //print the reverse cout << s.pop(); cout << endl; return 0; }
My name is Don Knuth!
!htunK noD si eman yM
!htunK noD si eman yM
As the comment in main() states, access to the hidden variable top is controlled.
It can be changed by the member function reset(), but cannot be accessed directly. Also, notice how the variable s is passed to each member function using the structure member operator form.
It can be changed by the member function reset(), but cannot be accessed directly. Also, notice how the variable s is passed to each member function using the structure member operator form.