[ bciric @ 03.06.2008. 19:56 ] @
Imam ovakav problem sa klasom: Pokusavam da napravim red cekanja sa LIFO baferom koriscenjem dvostruko ulancane liste Code: class BufferNode { public Package info; public BufferNode next, prev; public BufferNode(Package el) { info = el; next = null; prev = null; } } class Buffer { BufferNode head = new BufferNode(); BufferNode tail = new BufferNode(); //double intime, outtime, timeinbuffer, numpacket; public Buffer() { head = tail = null; } /// <summary> /// Vreme ulaska u bafer /// </summary> /// <param name="it">vrednost vremena</param> public void SetInTime(double it) { } /// <summary> /// Proverava da li je bafer prazan i vraca bool vrednost /// </summary> /// <returns></returns> public bool isEmpty() { return head == null; } /// <summary> /// Nalazi i vraca duzinu bafera /// </summary> /// <returns>Duzina bafera</returns> public int BufferLength() { int length = 0; BufferNode tmp = new BufferNode(); for (tmp = head; tmp != null; tmp = tmp.next) { length++; } return length; } /// <summary> /// Dodavanje novog paketa u bafer /// </summary> /// <param name="x">Cvor bafera koji se dodaje</param> public void AddToBuffer(BufferNode x) { if (!isEmpty()) { /*x.prev = tail; x.next = null; tail.next.prev = x; tail.next = x; */ tail.next = x; x.prev = tail; x.next = null; tail = x; } else head = tail = x; } /// <summary> /// Brisanje Paketa sa repa bafera /// </summary> public void DeleteFromTail() { if (!isEmpty()) { if (head == tail) head = tail = null; else { tail = tail.prev; tail.next = null; } } else return; } /// <summary> /// Uzima elemenat koji treba proslediti programu /// </summary> /// <returns></returns> public BufferNode TakeFromBuffer() { BufferNode x=new BufferNode(); x = tail; DeleteFromTail(); return x; } } Da li moze to da radi bez onog default konstruktora BufferNode() ? Ja kad pokusam da kreiram instancu te kalse javlja mi gresku "Error 5 No overload for method 'BufferNode' takes '0' arguments" Koja je fora? I koja je razlika ako ubacim i onaj konstruktor? |