Exemplo n.º 1
0
    void enqueue(Animal a)
	{
	    a.setOrder(order);
	    ++order;
	    if(a.getType() == "Dog")
		dogs.push_back(*(Dog*) &a);
	    if(a.getType() == "Cat")
		cats.push_back(*(Cat*) &a);
	    cout << a.getType() << " named " <<  a.getName() << " arrives at order : " << a.getOrder() << endl;
	}
Exemplo n.º 2
0
 void enqueue(Animal ani){
    order++;
   ani.setOrder(order);
   if (ani.getType()=="Cat"){
     cats.push_back(*(Cat*) &ani);
   }
   if (ani.getType()=="Dog"){   
     dogs.push_back(*(Dog*) &ani);
   }
   cout << "Enqueue: " << ani.getName() << " on time: " << ani.getOrder() << endl;
 }
Exemplo n.º 3
0
 Animal dequeueAny()
 {
     if (CatQueue.empty() && !DogQueue.empty()) {
         return dequeueDog();
     } else if (!CatQueue.empty() && DogQueue.empty()) {
         return dequeueCat();
     } else if (CatQueue.empty() && DogQueue.empty()) {
         printf("All our queue are empty.\n");
     } else {
         Animal tC = CatQueue.front();   
         Animal tD = DogQueue.front();
         if (tC.getOrder() < tD.getOrder) {
             Animal tA = tC;
             dequeueCat();
             return tA;
         } else {
             Animal tA = tD;
             dequeueDog();
             return tA;
         }            
     }
 }
Exemplo n.º 4
0
	bool isOlderThan(Animal a)
	{
		return this->order < a.getOrder();
	}