enqueue dequeue
-
drakon schrieb:
Sorry, wenn ich frage, aber was ist daran nicht C++? - Ich gehe mal davon aus, dass Queue eine C++ - Klasse ist. Oder weisst du da mehr?
Das einzige, was micht "komisch" dunkt ist das hier:
Console.WriteLine(q.dequeue());Aber das könnte durchaus C++ sein.
das ist doch wohl eindeutig .NET und C# syntax. erst denken, dann posten.

bsp gefällig?Djoker schrieb:
Queue q = new Queue(); // das ist KEIN C++; entweder Queue q; oder // Queue* q = new Queue(); dann wird aber mit // q->enqueue(i); drauf zugegriffen ;); // es wäre, WENN das System.Console aus .NET nicht schon so // ins auge stechen würde, eher noch Java.
-
Hallo
Ja die von dir gezeigte Zeile ist schon mal verdächtig.
Aber eindeutig nicht gültiger C++ Code ist diese Zeile
Queue q = new Queue();denn in C++ müßte q ein Pointer sein.
"Queue" ist keine C++ Klasse (das wäre std::queue<T>), aber die Aufgabe ist ja auch schließlich eine solche Klasse selber zu schreiben.
/Edit : Zu langsam...
bis bald
akari
-
Habe noch fast gedacht, dass es C# ist. (wegen dem Console). Habe noch nicht allzuveil damit gemacht, darum war ich mir nicht sicher.
Aber eindeutig nicht gültiger C++ Code ist diese Zeile
Code:
Queue q = new Queue();Naja. MUSS ja nicht sein, aber wäre eher ungewöhnlich, wenn Queue jetzt ein typedef wäre. Aber egal, ich weiss, was ihr meint.

-
akari schrieb:
Aber eindeutig nicht gültiger C++ Code ist diese Zeile
Könnte ja sowas sein:
Class QueueClass; typedef QueueClass* Queue;
-
Dann müsste es aber:
Queue q = new QueueClass() heißen. :p
-
Hallo
Nein das mit dem typedef kann nicht sein. Denn der Konstruktor einer Klasse muß immer dem Klassennamen entsprechen. Wenn also der Klassenname Queue ist dann kann kein typedef Queue angelegt werden.
/Edit : Schon wieder zu langsam... meine Antwort bezog sich natürlich auf drakon und ihoernchen
bis bald
akari
-
Simmt. Gar nicht dran gedacht.
---
Edit:
Mal ein bisschen Offtopic:Folgendes wäre denkbar?

class QueueClass { }; typedef QueueClass* Queue; #define Queue() QueueClass void Test() { Queue q = new Queue(); }
-
Sagen wirs mal so, es funktioniert *g*
Als besonders guten Stil würd ichs allerdings
nicht gerade bezeichnen
-
Was auch noch ätzend ist, dass die evtl. teure Exception-Behandlung als normale Kontrollstruktur missbraucht wird. Es sollte eher sowas wie while(!q.empty()) sein.
-
witte_ schrieb:
Was auch noch ätzend ist, dass die evtl. teure Exception-Behandlung als normale Kontrollstruktur missbraucht wird. Es sollte eher sowas wie while(!q.empty()) sein.
Dafür gibts das Property Count.