hello guys. first of all i have to program a list for school. first i tried a version without having a class for saving the first and last ListNode and it worked well. now i have to write a header class which contains the first and last element. i gave my best but the compiler has a problem with my type type definition, E.g. CQueue doesnt name a type.
id appreciate it, if anyone could check out. thank you.
/*
* CQueue.h
*
* Created on: 04.10.2012
* Author: IzO
*/
#ifndef CQUEUE_H_ //Beim Linken wird die Headerdatei nur 1 Mal eingebunden! Wenn definiert nicht abarbeiten
#define CQUEUE_H_
#include "CPJob.h"
#include "CQueueContainer.h"
class CQueue {
private:
CPJob* data; //Daten
CQueue* next; //zeigt auf das nächste Element
CQueue* prev; //zeigt auf das vorherige Element
public:
CQueue(); //Konstruktor --> Objekt mit Werten versehen
~CQueue(); //Destruktor --> Löschen des Objekts
void push(CPJob*); // neues Queueelement hinzufügen
void pop(); //Löscht das erste Element --> FIFO
void printJobs(); //gibt die Queue aus
};
#endif /* CQUEUE_H_ */
#include <iostream>
#include "CPJob.h"
#include "CQueue.h"
//function ::fills queue with CPJob objects
void fillQueue(CQueue* pQueue, int num) {
CPJob *pPJob;
for (int i = 0; i < num; i++) {
pPJob = new CPJob("text", i);
pQueue->push(pPJob);
}
}
//driver ::simple test
int main(int argc, char* argv[]) {
CQueue *pQueue;
pQueue = new CQueue(); // Der Speicher wird mit new reserviert, als Rückgabeparameter gibt ein pt eauf das neue Objekt
// Std-Konstruktor wird aufgerufen, man kann verschiedene Konstr. definieren, die Parameterabhängig sind.
fillQueue(pQueue, 10);
pQueue->printJobs();
pQueue->pop();
pQueue->printJobs();
pQueue->pop();
pQueue->pop();
pQueue->pop();
pQueue->printJobs();
return 0;
}