From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- Bachelor/Prog2/Codebeispiele/5_ch11/fig11_04.cpp | 63 ++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 Bachelor/Prog2/Codebeispiele/5_ch11/fig11_04.cpp (limited to 'Bachelor/Prog2/Codebeispiele/5_ch11/fig11_04.cpp') diff --git a/Bachelor/Prog2/Codebeispiele/5_ch11/fig11_04.cpp b/Bachelor/Prog2/Codebeispiele/5_ch11/fig11_04.cpp new file mode 100644 index 0000000..852c4c4 --- /dev/null +++ b/Bachelor/Prog2/Codebeispiele/5_ch11/fig11_04.cpp @@ -0,0 +1,63 @@ +// Fig. 11.4: fig11_04.cpp +// Stack class template test program. Function main uses a +// function template to manipulate objects of type Stack< T >. +#include + +using std::cout; +using std::cin; +using std::endl; + +#include "tstack1.h" // Stack class template definition + +// function template to manipulate Stack< T > +template< class T > +void testStack( + Stack< T > &theStack, // reference to Stack< T > + T value, // initial value to push + T increment, // increment for subsequent values + const char *stackName ) // name of the Stack < T > object +{ + cout << "\nPushing elements onto " << stackName << '\n'; + + while ( theStack.push( value ) ) { + cout << value << ' '; + value += increment; + + } // end while + + cout << "\nStack is full. Cannot push " << value + << "\n\nPopping elements from " << stackName << '\n'; + + while ( theStack.pop( value ) ) + cout << value << ' '; + + cout << "\nStack is empty. Cannot pop\n"; + +} // end function testStack + +int main() +{ + Stack< double > doubleStack( 5 ); + Stack< int > intStack; + + testStack( doubleStack, 1.1, 1.1, "doubleStack" ); + testStack( intStack, 1, 1, "intStack" ); + + return 0; + +} // end main + +/************************************************************************** + * (C) Copyright 1992-2003 by Deitel & Associates, Inc. and Prentice * + * Hall. All Rights Reserved. * + * * + * DISCLAIMER: The authors and publisher of this book have used their * + * best efforts in preparing the book. These efforts include the * + * development, research, and testing of the theories and programs * + * to determine their effectiveness. The authors and publisher make * + * no warranty of any kind, expressed or implied, with regard to these * + * programs or to the documentation contained in these books. The authors * + * and publisher shall not be liable in any event for incidental or * + * consequential damages in connection with, or arising out of, the * + * furnishing, performance, or use of these programs. * + *************************************************************************/ \ No newline at end of file -- cgit v1.2.3