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.


Anmelden zum Antworten