Next: Vorgehensweise bei der Implemenmtation
Up: Templates, Exceptions sowie Pogrammierung
Previous: Bsp. für Function-Template
#include <iostream.h>
template <class T, int size>
class Stack{
private:
T elements[size];
int top;
public:
Stack();
int push(T);
int pop(T&);
};
template <class T, int size>
Stack <T, size>::Stack(){ top = -1; }
template <class T, int size>
Stack <T, size>::push(T item)
{
if (top < size-1)
{
elements[++top]=item;
return 1;
}
else
return 0;
}
template <class T, int size>
int Stack <T, size>::pop(T& item)
{
if (top < 0)
return 0;
else
{
item = elements[top--];
return 1;
}
}
int main()
{
Stack<int, 3> intStack;
int i;
intStack.push(2);
intStack.push(3);
for (int j = 0; j < 3; j++)
{
if (intStack.pop(i))
cout << "Result: " << i << endl;
else
cerr << "No Element" << endl;
}
}
| © 1997 Gottfried Rudorfer, C++-AG, Lehrveranstaltungen, Abteilung für Angewandte Informatik, Wirtschaftsuniversität Wien, 3/19/1998 |