0

Gestion de cola 6

Hola, ¿alguien podria ayudarme con este problema del modulo 6? Seguimos desarrollando nuestro sistema de gestión de colas que hicimos en el módulo anterior. Se te pide que añadas una nueva funcionalidad: añadir dos colas juntas. El resultado debe ser una nueva cola, donde los elementos de la primera cola vienen primero, seguidos por los elementos de la segunda cola. Dada la clase Queue, sobrecarga el operador +, para que el código en main funcione y añada con éxito dos colas. #include <iostream> using namespace std; class Queue { int size; int* queue; public: Queue() { size = 0; queue = new int[100]; } void add(int data) { queue[size] = data; size++; } void remove() { if (size == 0) { cout << "Queue is empty"<<endl; return; } else { for (int i = 0; i < size - 1; i++) { queue[i] = queue[i + 1]; } size--; } } void print() { if (size == 0) { cout << "Queue is empty"<<endl; return; } for (int i = 0; i < size; i++) { cout<<queue[i]<<" <- "; } cout << endl; } //tu código va aquí class Queue1 { int size; int *queue; public: Queue1(Queue size) : size(); { } ; }; int main() { Queue q1; q1.add(42); q1.add(2); q1.add(8); q1.add(1); Queue q2; q2.add(3); q2.add(66); q2.add(128); q2.add(5); Queue q3 = q1+q2; q3.print(); return 0; } Este es mi codigo, pero sinceramente no comprendo muy bien la composicion de funciones y la sobrecarga de operadores.

23rd Jan 2022, 1:25 PM
Facundo Toro
2 Answers
+ 2
Espero te sirva //tu código va aquí Queue operator+(Queue obj) { Queue result; result.size = this ->size; result.queue = this ->queue; int length=obj.size; int n=0; while(n<length) { result.add(obj.queue[n]); n++; } return result; }
23rd Aug 2022, 2:42 PM
Janer Leal Hernandez
Janer Leal Hernandez - avatar
+ 1
Try using obj: Queue operator+(Queue &obj) { Queue combind; for(int i=0;i<this->size;i++) { combind.add(this->queue[i]); } for(int i=0;i<obj.size;i++) { combind.add(obj.queue[i]); } return combind; }
23rd Jan 2022, 2:02 PM
Paul K Sadler
Paul K Sadler - avatar