Hilfe bei Module Programmierung
-
Hi,
ich muß ein Konsolenprogramm schreiben das Zahlen einließt und dann in eine doppelt Verkettete Liste einsetzt... Das habe ich bereits gemacht mit den Modulen dequeCPP.cpp und dequeCPP.h. In der Header sind die structs definiert und in der cpp-File die Funktionen. Die main kann dann dazu angepasst werden.
Meine Aufgabe ist es jetzt ein neues Header File und CPP File zu erstellen namens StackCPP.cpp und StackCPP.h das nun auf die beiden dequeCPP.cpp und dequeCPP.h zugreift. (Auf bestimmte fubktionen). Soll wohl eine Art Vererbung oder so darstellen.
Meine dequeCPP.h sieht so aus:
#ifndef _INCLUDE_DEQUECPP_H_ #define _INCLUDE_DEQUECPP_H_ struct Element { int value; Element * next; Element * prev; }; struct Deque { int count; Element * first; Element * last; }; void initDeque(Deque* d); /* initialisieren */ void pushFront(Deque* d, int value); /* vorne einfuegen */ void pushBack(Deque* d, int value); /* hinten einfuegen */ int popFront(Deque* d); /* vorne entnehmen */ int popBack(Deque* d); /* hinten entnehmen */ int front(Deque* d); /* Wert vorne lesen */ int back(Deque* d); /* Wert hinten lesen */ bool isEmpty(Deque* d); /* testen auf leer */ void dumpForward(Deque* d); /* Werte v. vorne ausg. */ void dumpBackward(Deque* d); /* Werte v. hinten ausg. */ #endif /*!_INCLUDE_DEQUECPP_H_*/
und meine StackCPP.h so:
#ifndef _INCLUDE_STACKCPP_H_ #define _INCLUDE_STACKCPP_H_ #include "DequeCPP.h" using namespace std; typedef Deque Stack; void initStack(Stack* s); //Soll initDeque(Deque* d) nutzen void push(Stack* s, int value); //Soll pushFront(...) nutzen int pop(Stack* s); //Soll popFront(...) nutzen int top(Stack* s); //Soll front(...) nutzen bool isEmpty(Stack* s); //usw. mit den Funktionen void dumpForward(Stack* s); void dumpBackward(Stack* s); #endif /*!_INCLUDE_STACKCPP_H_*/
Jetzt ist meine Frage wie schreibe ich eine .CPP-File die die Funbktionen aus der dequeCPP.cpp nutzt.
Danke für jede Hilfe.
MFG
Oliver
-
Kann das sein das ich initStack(...) so schreiben muß
void initStack(Stack * s) { initDeque(s); }
???
-
Hi olimlad,
zu deinem ersten Post:
In deiner neuen cpp-Datei musst du ja lediglich die Funktionen der dequeCPP.cpp
bekannt machen. Dazu hast du ja die entsprechende Headerdatei dequeCPP.h, die die Funktionen bekannt macht. Diese Headerdatei musst du dann in deiner neuen
cpp-Datei einbinden, sprich mit #include.Der Rest macht eigenlich die Entwicklungsumgebung und der Compiler beim
Compilieren.Ich hoffe, ich konnte helfen.