Systemnahe Programmierung in C: Klassen |
|
1class Stack {
2
3protected:
4
5 int a[20];
6 unsigned int topPtr ;
7
8public:
9
10 void push(int v) {
11 a[topPtr++] = v;
12 }
13
14 int top(void) {
15 return a[topPtr -1];
16 }
17
18 void pop(void) {
19 --topPtr;
20 }
21
22 int isEmpty(void) {
23 return topPtr == 0;
24 }
25
26 Stack() {
27 topPtr = 0;
28 }
29};
30
31
|
1#include "Stack4.cc"
2
3int main(void)
4{
5 Stack * s1 = new Stack();
6 Stack * s2 = new Stack();
7
8 s1->push(...);
9
10 ... s1->top() ...;
11
12 s2->pop();
13
14 ... ( s2->isEmpty() )
15
16 s2->push(...);
17
18 s1->pop();
19
20}
|
> class Stack {
>
> protected:
int a[20]; int a[20];
unsigned int topPtr = 0; | unsigned int topPtr ;
> public:
void push(int v) { void push(int v) {
a[topPtr++] = v; a[topPtr++] = v;
} }
int top(void) { int top(void) {
return a[topPtr -1]; return a[topPtr -1];
} }
void pop(void) { void pop(void) {
--topPtr; --topPtr;
} }
int isEmpty(void) { int isEmpty(void) {
return topPtr == 0; return topPtr == 0;
} }
>
> Stack() {
> topPtr = 0;
> }
> };
>
>
|
|
Letzte Änderung: 11.01.2007 | © Prof. Dr. Uwe Schmidt |