language: C++11 (gcc-4.7.2)
date: 775 days 0 hours ago
link:
visibility: public
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#define NULL 0L
 
template <class Object>
class Queue
{
 public:
  Queue();                              // Default
  Queue(const Queue& original);         // Copy
 
  ~Queue();                             // Destructor
 
  const Queue& operator=(const Queue& rightHandSide);  //overloaded op
 
  bool isEmpty() const;
 
  bool enqueue(const Object& d);
  bool dequeue(Object& d);
 
 private:
  // Node definition
  struct Node
  {
    Object data;
    Node * next;
  };
  // Queue data members
  Node * front, * back;
};
 
 
//queue.cpp
template <class Object>
Queue<Object>::Queue(const Queue& original)
{
  if (original.isEmpty()) {
    front = back = NULL;
  } else {
    front = back = new Queue::Node;                 //this is line 26
    front->data = original.front->data;
    Queue::Node * ptr = original.front->next;
    while (ptr != NULL) {
      back->next = new Queue<Object>::Node;
      back = back->next;
      back->data = ptr->data;
      ptr = ptr->next;
    }
  }
}
 
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
collect2: ld returned 1 exit status